我用VC写过一个Java编译器前端,全手写,没用antlr,lex, yacc之类的任何工具,累的tmd要吐血,语意分析还没写完。后端的代码优化,生成可执行码没写。
建议你到网上下载一个java.g看看,在看看antlr怎么生成的lexer和parser.
然后在自己写吧。不过antlr没有代码生成能力,他只是词法分析,语法分析,
语义分析,代码生成要自己写。后者可以参照pl/0.
到google里查点资料把。

解决方案 »

  1.   

    写错了,
    我想对一个完整的pasic程序进行词法分析,感觉无从下手.....
      

  2.   

    如果仅仅是lexer那就太简单了.
      

  3.   

    玩了一天电脑,眼花了,
    本想改的是 词法分析已经做完了
    语法分析我以前用Delphi写过if语句......
    现在我想对一个完整的pasic程序进行语法分析,感觉无从下手.....
    郁闷
      

  4.   

    恩........大2的时候,用C写的编译的所有的设计呀,LL(1),L(0)什么的,真TM吐血。现在可以用JAVA写了,感觉不错!共同努力!
      

  5.   

    恩........大2的时候,用C写的编译的所有的设计呀,LL(1),LR(0)什么的,真TM吐血。现在可以用JAVA写了,感觉不错!共同努力!
      

  6.   

    这个涉及的东西多了, 太辛苦了!!!呵呵。
    比如说:你一个浮点型(用科学计数法)都要写一大段啊
    当然,真要写的话,可以考虑语法的最基本组成的(比如判断和覆值等)
    的check, 还是找本书好好研究把!!!
      

  7.   

    这东西其实不是难,是繁。
    千万不要急着写,先到网上下一个java.g分析一下,
    然后如果还没把握,就下一个antlr来自动生成lexer, parser
    然后看看别人怎么写的。
      

  8.   

    Pascal的也有,其实都不用下antlr,看看PL/0就行了.
    我的一个同学曾经做过工控语言Express的编译器前端,
    他就只是看了一篇论文,一本"编译原理设计与实现",
    和PL/0.