0
我正在编写玩具OO语言的编译器。我使用Flex和Bison将它写入C语言。Flex /野牛多通类解析
考虑下面的语法:
class MyClass {
int m_n;
void MyFunc(int b) {
m_n = 5;
m_p = b;
}
int m_p;
}
我当前的代码会抱怨说,在MYFUNC,M_P尚未宣布(有很好的理由)。于是,我来到了,我需要一个多通道分析技术得出结论 - 沿着线的东西:
第1次 - 过程变量声明
第2次 - 过程函数定义
首先 - 是这是解决问题的最好方法吗?我应该考虑其他方法吗?其次 - 如果这是一个有利的解决方案,我会继续使用可重入的词法分析器/解析器来实现它吗?
感谢
你可以看看这个项目:http://svn.c0demonkey.com/listing.php?repname=njc-oo&path=%2Ftrunk%2F#path_trunk_(通过semant.c完成 - 非常复杂代码尽管:) – halfdan 2011-04-13 22:05:40