小弟现在想试试编译原理,想做个解释性语言的编译器
虽然没有彻底看过Lex&YACC的代码,但大致意思还是知道的
可现在这两个东西却成为我的鸡肋了。
1:我只要实现简单的功能,一般的文字处理和计算功能,Lex&YACC功能很强大,可我这个语言的解释器不用那么大的功能,到底用不用它呢
2:编译语言要把代码编译到机器可以识别的部分,解释性语言呢?
有没有脚本语言的解释器代码可以参考的呢?
1、你对Lex和yacc的感觉根我对STL的感觉一样,很强大,但是用不着。这样吧,如果你十分想偷懒的话,那就用吧,如果你只需要十分十分简单的功能,不妨自己写一个。
2、解释性语言也是要翻译的,最终计算机能认识的也就是它的机器指令,只不过解释型语言在运行时检查与法,进行解释,转换到机器指令。
脚本解释器很多很多,不过Windows下面么,有代码的就不多了,Linux/Unix下面成把抓。Perl的解释器,awk的解释器,C语言的解释器,还有Shell的脚本,bash的、tcsh的、sh的,都有哈
说实话研究计算机科学的话,Linux/Unix比Windows下面好得多……
lex和yacc作文法和语法分析很棒,如果是做语法和词法分析,没必要觉得它不伦不类。perl的解释器是很好的,perl的正则表达式都可以用来解释很多脚本的。
windows下也有啊,TCL也是开源的