Ⅰ 如何自创语言我想自创语言,就像塔语一样,需要什么工具吗需要什么学历基础吗难吗
你好,我也想自创语言,个人认为需要完成3件大事情:
1,设计符号,并设计每个符号对应的发音(表音语言)或含义(表意语言)(可以使用已知语言的符号)
2,设计语法(这个得先对语法进行分类(相当于设计编程语言的格式))
3,定义词汇对应的符号组合(这个得对词汇分类(相当于定义编程语言的关键词))
我自己已经从韩文中找到灵感设计了一套比韩文字符复杂一些的符号集(主要是为了能支持更多发音),现在差语法和词汇。
Ⅱ 如何自创一门计算机语言
如果你仅仅有一般程序设计的基础,直接要设计一门语言是有难度的。结合我个人的经验,以下路径应该比较适合语言初学者:你需要有基本的编译原理常识。构造基本的编译原理常识,一方面来自于你对已有语言的使用经验,了解基本术语。比如我用C,那么我起码知道语言要素包括宏、表达式、语句、语句块、函数、指针等;我还知道C语言有编译、链接和执行三个阶段。这些基本概念对你宏观掌握你的学习进程是很有必要的。另外一方面编译原理的常识,要来自图书。比如龙书、SICP。
在这一步,你得知道大部分语言的处理都要分为词法、语法、语义和代码生成四个阶段。每个阶段,分别是做什么的。了解具体的编译算法。了解到什么程度,取决于你使用第三方工具,还是需要自己从字符开始处理。个人建议,乔姆斯基文法体系、(扩展)巴克斯范式(EBNF),正则表达式,和LL(1)的递归下降分析法是必须要掌握的。对LL(k),LR(k)要有概念。其中,四则运算表达式的分析是很好的练习。对语法的感觉。
初学者设计语言的难度有两点。第一,不知道什么样的语法/语义是你需要的;第二,不知道你设计的文法能否实现。你是需要一个类似于自然语言的脚本,还是只是一个表达式。经过3阶段的训练我认为你已经有了独立撰写语法的能力。可以写一个基础版本的出来。实现你的语言,特别是词法和语法部分。这一步最好能Log出尽可能多的信息,例如词列表并打印出分析树。