Currently Chinese identifier names are transformed into pinyin, which might cause a redefinition if the same pinyin is also defined using wenyan, like this: 
Both ES2015 and Python 3 support Unicode identifier names, there shouldn't be much problem using it directly.
Or set a more sophisticate variable naming machanism. Chinese include a vast amount of characters, simply difference words with its pronouciation and tone is not enough. Maybe do it like url encode function?
Hi there,
Thanks for the Issue!
Firstly there is actually an option to turn off the automatic Romanization. In CLI it is --roman false, in JavaScript it's parser.compile('js', input, {romanizeIdentifiers:false}). I'll probably add a GUI toggle for it on the online IDE too.
Currently, If two different identifiers have the same pinyin, a _ character will be appended to the latter (or more _'s will be appended if name clash remains), as you see in your example (the second JIA_). So there shouldn't be any problem if you only use Chinese characters.
Which brings us to the third line where you used the pinyin directly, and my current policy is to leave non-Chinese characters as they are. Your example made a good point, and now I'm rethinking that policy. :-P
I'm planning to add another mechanism, as DrMerxer mentioned. Probably unicode entry points? so 「甲」 would be _u7532. But that would decrease the readability of the compiled code.
Please feel free to let me know your thoughts! Thanks.
@LingDong- we can keep "甲" in the compiled file without any modification.
So, IMO, this should be the default way to handle variable names.
In case someone want to compile into ASCII source code, using U4F60U597D would be enough (which is easy to implement and works fine).
@tiansh, congrats, you've convinced me :)
I will change using original identifier names to default, and add an option to use unicode entry points.
Thanks.
This issue is now fixed:
34119f806c2e62b9543d7e692bd3bd5e9b406edd
Original identifiers are used by default in all components. GUI for optionally selecting romanization method will be added in the next GUI update.
Thanks everyone for the discussion!
Most helpful comment
@LingDong- we can keep "甲" in the compiled file without any modification.