Updated readme
This commit is contained in:
parent
d46b9872bc
commit
a7b447906d
134
README.org
134
README.org
@ -6,6 +6,140 @@
|
||||
[[https://github.com/ceronyon/LangEvolve/][Ceronyon]]. This tool is a conlanging tool used to apply sound change rules on
|
||||
words or text.
|
||||
|
||||
* Differences with the original project
|
||||
The main difference with the main project resides in its settings format:
|
||||
while the original project only supports the JSON format, this project
|
||||
supports both the JSON and the Yaml formats. The settings are also represented
|
||||
differently in JSON between the original project and this one. Lastly, the
|
||||
regex crate used in this project does not allow certain expressions, such as
|
||||
look-ahead and look-behind searches, and backreferences. To get a better idea
|
||||
of what I am talking about, here is the example json given by the original
|
||||
project for Latin to Portugese:
|
||||
#+BEGIN_SRC json
|
||||
{
|
||||
"version" : "1",
|
||||
"categories" : {
|
||||
"V" : "aeiou",
|
||||
"L" : "āēīōū",
|
||||
"C" : "ptcqbdgmnlrhs",
|
||||
"F" : "ie",
|
||||
"B" : "ou",
|
||||
"S" : "ptc",
|
||||
"Z" : "bdg"
|
||||
},
|
||||
"rules" : [
|
||||
{ "[sm]$" : "" },
|
||||
{ "i(%V)" : "j\\1" },
|
||||
{ "%L" : "%V" },
|
||||
{ "(%Vr)e$" : "\\1" },
|
||||
{ "(%V)v(%V)" : "\\1\\2" },
|
||||
{ "u$" : "o" },
|
||||
{ "gn" : "nh" },
|
||||
{ "(%V)p(?=%V)" : "\\1b" },
|
||||
{ "(%V)t(?=%V)" : "\\1d" },
|
||||
{ "(%V)c(?=%V)" : "\\1g" },
|
||||
{ "(%F)ct" : "\\1it" },
|
||||
{ "(%B)ct" : "\\1ut" },
|
||||
{ "(%V)pt" : "\\1t" },
|
||||
{ "ii" : "i" },
|
||||
{ "(%C)er(%V)" : "\\1r\\2" },
|
||||
{ "lj" : "lh" }
|
||||
]
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
And here is the JSON generated by this project (beautified, the original is on
|
||||
one line only without unnecessary whitespace):
|
||||
#+BEGIN_SRC json
|
||||
{
|
||||
"version": "1",
|
||||
"categories": [
|
||||
["V", "aeiou"],
|
||||
["L", "āēīōū"],
|
||||
["C", "ptcqbdgmnlrhs"],
|
||||
["F", "ie"],
|
||||
["B", "ou"],
|
||||
["S", "ptc"],
|
||||
["Z", "bgd"]
|
||||
],
|
||||
"rules": [
|
||||
["[sm]$", ""],
|
||||
["i(?P<v>%V)", "j$v"],
|
||||
["%L", "%V"],
|
||||
["(?P<v>%Vr)e$", "$v"],
|
||||
["(?P<b>%V)v(?P<a>%V)", "$b$a"],
|
||||
["u$", "o"],
|
||||
["gn", "nh"],
|
||||
["(?P<b>%V)p(?P<a>%V)", "$vb$a"],
|
||||
["(?P<b>%V)t(?P<a>%V)", "$bd$a"],
|
||||
["(?P<b>%V)c(?P<a>%V)", "$bg$a"],
|
||||
["(?P<f>%F)ct", "$fit"],
|
||||
["(?P<b>%B)ct", "$but"],
|
||||
["(?P<v>%V)pt", "$vt"],
|
||||
["ii", "i"],
|
||||
["(?P<c>%C)er(?P<v>%V)", "$cr$v"],
|
||||
["lj", "lh"]
|
||||
]
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
By the way, here is the Yaml equivalent generated by this project:
|
||||
#+BEGIN_SRC yaml
|
||||
---
|
||||
version: "1"
|
||||
categories:
|
||||
- - V
|
||||
- aeiou
|
||||
- - L
|
||||
- āēīōū
|
||||
- - C
|
||||
- ptcqbdgmnlrhs
|
||||
- - F
|
||||
- ie
|
||||
- - B
|
||||
- ou
|
||||
- - S
|
||||
- ptc
|
||||
- - Z
|
||||
- bgd
|
||||
rules:
|
||||
- - "[sm]$"
|
||||
- ""
|
||||
- - i(?P<v>%V)
|
||||
- j$v
|
||||
- - "%L"
|
||||
- "%V"
|
||||
- - (?P<v>%Vr)e$
|
||||
- $v
|
||||
- - (?P<b>%V)v(?P<a>%V)
|
||||
- $b$a
|
||||
- - u$
|
||||
- o
|
||||
- - gn
|
||||
- nh
|
||||
- - (?P<b>%V)p(?P<a>%V)
|
||||
- $vb$a
|
||||
- - (?P<b>%V)t(?P<a>%V)
|
||||
- $bd$a
|
||||
- - (?P<b>%V)c(?P<a>%V)
|
||||
- $bg$a
|
||||
- - (?P<f>%F)ct
|
||||
- $fit
|
||||
- - (?P<b>%B)ct
|
||||
- $but
|
||||
- - (?P<v>%V)pt
|
||||
- $vt
|
||||
- - ii
|
||||
- i
|
||||
- - (?P<c>%C)er(?P<v>%V)
|
||||
- $cr$v
|
||||
- - lj
|
||||
- lh
|
||||
#+END_SRC
|
||||
|
||||
You can find more information on how to use regular expressions with this
|
||||
project in the documentation of the regex crate [[https://docs.rs/regex/1.3.6/regex/][here]].
|
||||
|
||||
* License
|
||||
LangEvolveRs is licensed under the AGPLv3 license. The full license can be
|
||||
found [[file:agpl-3.0.txt][here]].
|
||||
|
Loading…
Reference in New Issue
Block a user