小弟现在想试试编译原理,想做个解释性语言的编译器虽然没有彻底看过Lex&YACC的代码,但大致意思还是知道的可现在这两个东西却成为我的鸡肋了。1:我只要实现简单的功能,一般的文字处理和计算功能,Lex&YACC功能很强大,可我这个语言的解释器不用那么大的功能,到底用不用它呢2:编译语言要把代码编译到机器可以识别的部分,解释性语言呢?
有没有脚本语言的解释器代码可以参考的呢?

解决方案 »

  1.   

    1、你对Lex和yacc的感觉根我对STL的感觉一样,很强大,但是用不着(不过你得比我的严重)。这样吧,如果你十分想偷懒的话,那就用吧,如果你只需要十分十分简单的功能,不妨自己写一个。2、解释性语言也是要翻译的,最终计算机能认识的也就是它的机器指令,只不过解释型语言在运行时检查与法,进行解释,转换到机器指令。脚本解释器很多很多,不过Windows下面么,有代码的就不多了,Linux/Unix下面成把抓。Perl的解释器,awk的解释器,C语言的解释器(Ch,一个C的脚本性解释器,在代码开头写#!/bin/ch,然后给文件加上执行权限就可以执行了,感觉BT得很……但是好像没看见代码下载- -bbb),还有Shell的脚本,bash的、tcsh的、sh的,都有哈说实话研究计算机科学的话,Linux/Unix比Windows下面好得多……
      

  2.   

    楼上大哥可是说道我的心里头了我要给我的程序加上脚本功能,程序本来就很小,如果为了这个简单的脚本把Lex&YACC也弄进去(说实话怎么加的程序里我还没搞清楚),那就感觉有点不伦不类了.可是不用它吧,自己要写得东西很多,肯定不如人家的好,又有点舍不得再者,自己不是计算机专业毕业的,对编译原理本来就是自己看书看的,不是很熟,想找个简单的例子参看参看.哪位大哥能给点例子呢
      

  3.   

    lex和yacc作文法和语法分析很棒,如果是做语法和词法分析,没必要觉得它不伦不类。perl的解释器是很好的,perl的正则表达式都可以用来解释很多脚本的。
      

  4.   

    windows下也有啊,TCL也是开源的