Page 1 of 1

Candl 0.1

Posted: Sun Oct 11, 2015 3:25 pm
by makvas
Code here: https://bitbucket.org/xvedejas/candl

The Candl (Conlangs and Languages) tool is for those wanting to automate complex language morphological and phonetic rules. It uses regular expressions extensively to define these rules. This tool is not very user-friendly at the moment, but I invite others to make changes as needed, and encourage them to publish useful modifications. Syntax and semantics are still left to the language crafter to decide, but much else is automated. This tool can therefore help prevent typos and speed up translation efforts.

It's not yet fully-featured, but it's a start and can already be used to a large degree.

Here's a usage example.

example.dict

Code: Select all

skom (v): run
narum (n): store
atl (pn): 3SG
example.grammar

Code: Select all

-PAST $ > yo
to= ^ > au
3SG-SUBJ $ > u
example.phonology

Code: Select all

# Rewrite some letters to appropriate IPA
y > j
l > ɬ
# Some useful phoneme groupings (V for vowels, C for consonants)
V=[aeiou]
C=(?:[ptknmsjɬ]|tɬ)
# break syllables apart:
(V)(CV) > \1\.\2
(VC)(CV) > \1\.\2
(V)(VV) > \1\.\2
# Primary stress rules:
(\.|^)([^\.]+\.[^\.]+$) > ˈ\2  # This puts the stress on the next-to-last syllable
example.in

Code: Select all

run-PAST store=to 3SG-SUBJ
"He ran to the store"
Output

Code: Select all

        ˈskom.jo  auˈna.rum   aˈtɬu
         skomyo   aunarum     atlu
         run-PAST to=store    3SG-SUBJ
        "He ran to the store"

Re: Candl 0.1

Posted: Sat Oct 31, 2015 5:33 pm
by Sevly
This looks quite neat; definitely planning on finding some time to play around with it

Re: Candl 0.1

Posted: Sun Nov 01, 2015 9:05 am
by Vardelm
I'll second that this looks neat.

The documentation is pretty confusing & arcane, though. I'm familiar w/ some programming, using input files of a certain format, etc. etc., but you mostly lose me once you get to the Grammar Rewrite Rules. I can kind of see what you're doing, but the explanations aren't detailed enough. On the non-programmer, linguistics side of things, it would be helpful to maybe have a first example that focuses on one simple suffix, complete with input, dictionary, grammar rules, and output files. For non-programmers, the "coding" details are vague as well. A complete breakdown of each line is needed, and it should be related to how a linguist would explain the inputs & outputs.

I think this utility looks like it COULD be easy enough to use, but the documentation just needs some changes to help non-programmers, since that would be the majority of users.