JPP: dial lingua removed hex encoding and sealed and split nether tones
This commit is contained in:
parent
bfc9e511f6
commit
1c699c4c1b
3 changed files with 31 additions and 19 deletions
|
|
@ -34,6 +34,5 @@ open module jpp.nether.dial.lingua {
|
||||||
//exports ᒢᐩᐩ.ᣕᓫᐪᑋᓫᣗ.ᒄᑊᣔᒻ.ᒻᑊᣕᕐᓑᣔᓫ.*;
|
//exports ᒢᐩᐩ.ᣕᓫᐪᑋᓫᣗ.ᒄᑊᣔᒻ.ᒻᑊᣕᕐᓑᣔᓫ.*;
|
||||||
exports ᒢᐩᐩ.ᣕᓫᐪᑋᓫᣗ.ᒄᑊᣔᒻ.ᒻᑊᣕᕐᓑᣔᓫ.ᐧᐧᐧ;
|
exports ᒢᐩᐩ.ᣕᓫᐪᑋᓫᣗ.ᒄᑊᣔᒻ.ᒻᑊᣕᕐᓑᣔᓫ.ᐧᐧᐧ;
|
||||||
exports ᒢᐩᐩ.ᣕᓫᐪᑋᓫᣗ.ᒄᑊᣔᒻ.ᒻᑊᣕᕐᓑᣔᓫ.ᐧᐧᣟ;
|
exports ᒢᐩᐩ.ᣕᓫᐪᑋᓫᣗ.ᒄᑊᣔᒻ.ᒻᑊᣕᕐᓑᣔᓫ.ᐧᐧᣟ;
|
||||||
exports ᒢᐩᐩ.ᣕᓫᐪᑋᓫᣗ.ᒄᑊᣔᒻ.ᒻᑊᣕᕐᓑᣔᓫ.ᐧᣟᐧ;
|
|
||||||
exports ᒢᐩᐩ.ᣕᓫᐪᑋᓫᣗ.ᒄᑊᣔᒻ.ᒻᑊᣕᕐᓑᣔᓫ.ᣟᣟᣟ;
|
exports ᒢᐩᐩ.ᣕᓫᐪᑋᓫᣗ.ᒄᑊᣔᒻ.ᒻᑊᣕᕐᓑᣔᓫ.ᣟᣟᣟ;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,7 @@ public class ModelDialLingua implements KodeGenModel {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String generatorModelHash() {
|
public String generatorModelHash() {
|
||||||
return "3";
|
return "4";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -114,20 +114,34 @@ public class ModelDialLingua implements KodeGenModel {
|
||||||
Map<String, List<NetherSlugNamed>> map = splitSlugs.get(pack);
|
Map<String, List<NetherSlugNamed>> map = splitSlugs.get(pack);
|
||||||
for (String file : map.keySet()) {
|
for (String file : map.keySet()) {
|
||||||
List<NetherSlugNamed> list = map.get(file);
|
List<NetherSlugNamed> list = map.get(file);
|
||||||
|
if (list.isEmpty()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
NetherSlugNamed slugTpl = list.get(0);
|
||||||
|
List<Class<?>> tonesTpl = slugTpl.view().toNetherTones(0);
|
||||||
String javaName = "ᐃ" + file;
|
String javaName = "ᐃ" + file;
|
||||||
ModelKlass klass = new ModelKlass(BASE_PACK + "." + pack, javaName);
|
ModelKlass klass = new ModelKlass(BASE_PACK + "." + pack, javaName);
|
||||||
|
for (Class<?> tone : tonesTpl) {
|
||||||
|
klass.addJavaImport(tone.getDeclaringClass().getName()); // auto dedup
|
||||||
|
}
|
||||||
klass.addJavaDescription("Lingua set of supported human text and vocal dialects for terminators.");
|
klass.addJavaDescription("Lingua set of supported human text and vocal dialects for terminators.");
|
||||||
klass.addJavaDescription("Keyed by the: Observatoire Human Linguistique");
|
klass.addJavaDescription("Keyed by the: Observatoire Human Linguistique");
|
||||||
writer.addModelKlass(klass);
|
writer.addModelKlass(klass);
|
||||||
StringBuilder buf = klass.getBody();
|
StringBuilder buf = klass.getBody();
|
||||||
buf.append("public interface ");
|
buf.append("public sealed interface ");
|
||||||
buf.append(javaName);
|
buf.append(javaName);
|
||||||
|
buf.append(" extends ");
|
||||||
|
for (Iterator<Class<?>> i = tonesTpl.subList(0, 4).iterator(); i.hasNext() ;) {
|
||||||
|
Class<?> toneClass = i.next();
|
||||||
|
buf.append(toneClass.getDeclaringClass().getSimpleName());
|
||||||
|
buf.append(".");
|
||||||
|
buf.append(toneClass.getSimpleName());
|
||||||
|
if (i.hasNext()) {
|
||||||
|
buf.append(", ");
|
||||||
|
}
|
||||||
|
}
|
||||||
buf.append(" {\n");
|
buf.append(" {\n");
|
||||||
for (NetherSlugNamed slug : list) {
|
for (NetherSlugNamed slug : list) {
|
||||||
List<Class<?>> tones = slug.view().toNetherTones(0);
|
|
||||||
for (Class<?> tone : tones) {
|
|
||||||
klass.addJavaImport(tone.getDeclaringClass().getName()); // auto dedup
|
|
||||||
}
|
|
||||||
String humanKlassPart = slug.linguaName();
|
String humanKlassPart = slug.linguaName();
|
||||||
humanKlassPart = humanKlassPart.replaceAll("\\-", "ᐧ");
|
humanKlassPart = humanKlassPart.replaceAll("\\-", "ᐧ");
|
||||||
humanKlassPart = humanKlassPart.replaceAll("\\+", "ᐧ");
|
humanKlassPart = humanKlassPart.replaceAll("\\+", "ᐧ");
|
||||||
|
|
@ -140,10 +154,13 @@ public class ModelDialLingua implements KodeGenModel {
|
||||||
buf.append(slug.linguaKey);
|
buf.append(slug.linguaKey);
|
||||||
buf.append("\n");
|
buf.append("\n");
|
||||||
buf.append("\t");
|
buf.append("\t");
|
||||||
buf.append("interface ");
|
buf.append("non-sealed interface ");
|
||||||
buf.append(slugName);
|
buf.append(slugName);
|
||||||
buf.append(" extends ");
|
buf.append(" extends ");
|
||||||
for (Iterator<Class<?>> i = tones.iterator(); i.hasNext() ;) {
|
buf.append(javaName);
|
||||||
|
buf.append(", ");
|
||||||
|
List<Class<?>> tones = slug.view().toNetherTones(0);
|
||||||
|
for (Iterator<Class<?>> i = tones.subList(4, tones.size()).iterator(); i.hasNext() ;) {
|
||||||
Class<?> toneClass = i.next();
|
Class<?> toneClass = i.next();
|
||||||
buf.append(toneClass.getDeclaringClass().getSimpleName());
|
buf.append(toneClass.getDeclaringClass().getSimpleName());
|
||||||
buf.append(".");
|
buf.append(".");
|
||||||
|
|
@ -193,7 +210,7 @@ public class ModelDialLingua implements KodeGenModel {
|
||||||
int ag1 = LINGUA_AG1;
|
int ag1 = LINGUA_AG1;
|
||||||
int ag2 = LINGUA_AG2;
|
int ag2 = LINGUA_AG2;
|
||||||
int ag3 = LINGUA_AG3;
|
int ag3 = LINGUA_AG3;
|
||||||
int bl0w = 1+Integer.parseInt(key1, 16);
|
int bl0w = 1+Integer.parseInt(key1);
|
||||||
int cr1 = key2.length()<1?0:1+key2.charAt(0) - 'A'; // A = 1
|
int cr1 = key2.length()<1?0:1+key2.charAt(0) - 'A'; // A = 1
|
||||||
int cr2 = key2.length()<2?0:1+key2.charAt(1) - 'A';
|
int cr2 = key2.length()<2?0:1+key2.charAt(1) - 'A';
|
||||||
int cr3 = key2.length()<3?0:1+key2.charAt(2) - 'A';
|
int cr3 = key2.length()<3?0:1+key2.charAt(2) - 'A';
|
||||||
|
|
|
||||||
|
|
@ -132,10 +132,6 @@ Tree key format;
|
||||||
DIFF with orignal lingua tree path key;
|
DIFF with orignal lingua tree path key;
|
||||||
|
|
||||||
- Added support for an plus sign at the end to indicate an unofficial entry
|
- Added support for an plus sign at the end to indicate an unofficial entry
|
||||||
- First two decimals are now hex
|
|
||||||
|
|
||||||
This means the 52 is still 52 but as hex which is another number internally.
|
|
||||||
This gives tree space to define all computer languages/schema's and number types.
|
|
||||||
|
|
||||||
## N2L TreeKey Binary
|
## N2L TreeKey Binary
|
||||||
|
|
||||||
|
|
@ -175,7 +171,7 @@ Extend octal aligned; <6><6><6>-<9>-<6><6><6>-<6><6><6>-<9> = 72 bits
|
||||||
|
|
||||||
sector+zone 9 bit;
|
sector+zone 9 bit;
|
||||||
- 0 = null
|
- 0 = null
|
||||||
- 1-511 = Classic hex zone Id + sector Id (one based)
|
- 1-511 = Classic zone Id + sector Id (one based)
|
||||||
|
|
||||||
Set of <setId><chainId><netId> 6 bit
|
Set of <setId><chainId><netId> 6 bit
|
||||||
- 0 = null
|
- 0 = null
|
||||||
|
|
@ -243,9 +239,9 @@ To view and program octals, you maybe need a tricorder terminal ordinateur.
|
||||||
In current unicode we can render Hinarī9 which is 9 bit per glyph, thus a tuple of
|
In current unicode we can render Hinarī9 which is 9 bit per glyph, thus a tuple of
|
||||||
"יֽ֔יֽ֔" is the 18 bit version of 0x00 of current retro calculators.
|
"יֽ֔יֽ֔" is the 18 bit version of 0x00 of current retro calculators.
|
||||||
|
|
||||||
Hinarī3: ייייייווווווזוװװדירדײײדיריײיייזוױרױי
|
Hinarī3: דדדדדדײײײײײײדװייײױדװווװרדדדודרדזרזײױ
|
||||||
Hinarī6: יֽיֽיֽוַוַוַזַװֲדֽרֻײֵדֽרֽײֽיֽזַױֳױֽ
|
Hinarī6: דְדְדְײֽײֽײֽדַיֵײֻדַוֲװֶדְדֲדֶדֳרֳײֻ
|
||||||
Hinarī9: יֽ֔יֽ֔וַ֝וַ֝זַ֟װֻ֔רֻ֕ײֻ֔רֽ֕יֽ֔זַ֩רֶ֔
|
Hinarī9: דְ֔דְ֔ײֽ֩ײֽ֩דַ֝יֽ֠דַ֕וַ֞דְ֔וְ֞דֳ֞זֽ֠
|
||||||
|
|
||||||
So a 3 bit value renders in Hinarī3, a 6 bit value renders in Hinarī6 and a 9 bit value
|
So a 3 bit value renders in Hinarī3, a 6 bit value renders in Hinarī6 and a 9 bit value
|
||||||
renders in Hinarī9, thus we can render a full N2L TreeKey.
|
renders in Hinarī9, thus we can render a full N2L TreeKey.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue