如何开发非英语编程/脚本语言?

时间:2010-02-24 11:29:02

标签: unicode encoding internationalization

如何开发非英语编程/脚本语言?

你需要成为一名计算机科学家吗?

3 个答案:

答案 0 :(得分:3)

您需要了解Unicode如何在国际语言中构建解析器,是的,您确实需要成为CS专业,或者具备self-teach自己编译器设计的能力。

  1. 学习unicode - 学会使用ICU - 或支持GOOD Unicode的语言。
  2. 决定并构建VM(或使用existing one)。
  3. 编写lexxer / parser或使用类似ANTLR (Java based)的内容。
  4. 决定AST
  5. 为VM生成指令流。

答案 1 :(得分:2)

查看“编译器设计原理”

答案 2 :(得分:1)

您使用能够编码扩展字符的字符集,例如UTF8。高于8位的Unicode集以UTF16的双字节表示法或UTF32的四字节表示法表示。产生的问题是关于dibi,双向表示法,其中使用不同bidi表示法的语言可以读取不同顺序的字节。比迪烟问题的解决方案是通过在字符编码之前指定字节顺序,但问题仍然存在于比特差异之前。因此,字节顺序通过Unicode字符集的更具体的子集清楚地说明。对于大端,UTF16BE要求字节顺序规范在从右到左解释的字符编码之前出现。相反的是UTF16LE,或小端。

还有UCS,通用字符集。这个术语仍在使用,但它已被弃用,因为它不足以解决上面提到的关于其映射占用多个字节的字符的问题。有关UCS和Unicode之间差异的信息,请阅读:http://en.wikipedia.org/wiki/Universal_Character_Set#Differences_between_ISO_10646_and_Unicode

以下是一些例子:
IRI - RFC 3987 - http://www.ietf.org/rfc/rfc3987.txt - 强制执行UTF8编码 邮件标记语言 - http://mailmarkup.org/ - 强制执行UTF16BE编码