﻿simulang:

struct Token { Type; string Value }
struct TokenSA { Type; ushort[] Value; }
lexer: Token NextTokenABC(); TokenSA NextTokenSA();

transcribe SA: Token Transcribe(TokenSA tokenSAs);

translate transed SA: Token Translate(Token transcribedTokenSAs);
// - reposite o_ka_e_seu o_seu_ru no_to_ki to re_H_to du_u wa_i_ru など
// - translate keywords
// - translate operators (excepts ` which has been SA-lexered in NextTokenSA)
// - translate numbers in transed SA to ABC (includes 1_._0_e_－_3 -> 1.0e-3)
// - escape transed strings such as ∴ha∵ha -> hH

simplifier: Simplify // tokens or translated tokens
gencs: GenCS // tokens or translated tokens
gensim: GenSim // tokens or translated tokens

the transcription:

space enter

0~9
a i eu u e o ya yu ye yo wa wi we wo
ha
hha
H

qa
qha
Ga
Gha
Xa
XXa
N

ka
kha
ga
gha
xa
xxa
nga

ca
cha
ja
jha
Ca
Ja
nja

sa
za
Sa
Za

ta
tha
da
dha
Ta
Da
na
jna

tsa
tsha
dza
dzha
tSa
tSha
dZa
dZha

pa
pha
ba
bha
Pa
ma
fa
va

ra