在野牛规则完成后实施语言需要多长时间?

时间:2010-08-02 18:07:16

标签: bison

我正在写自己的语言,我几乎完成了野牛的规则。现在剩下的就是实施右侧。大约有650行。语言不如C复杂,但仍然相当复杂。我没有尝试实施规则,除了测试应用程序来学习它。我有很多段错误,但却掌握了它。

每个规则都是函数调用,因此这些行中有600个是函数调用,因此可能有500多个函数。你试过的功能相当简单吗?大多数工作是这些规则还是所有其他代码都没有在函数中调用?是否有分裂的努力?

1 个答案:

答案 0 :(得分:1)

编写规则很容易。 我想你正在实施一个翻译。 通过你说你似乎已经定义了600多条规则。 在继续前进之前,您可能需要减少规则数量。

弹性模式的数量是多少?

常见的错误是添加到许多词法关键字。然后野牛变成了一场噩梦。 作为一个例子,我在过去看过一个解释,它在lex中重新定义了maths.h的许多函数,例如sincos ...... 然后开发人员定义了SIN,COS令牌......并创建了正确的yacc动作。 这是一项很多工作而且无法扩展!

最近我写了一个OOL解释器,它包含大约150条规则。 而且大约有一半与之前版本的遗产有关。 对于核心,字节码编译器和解释器行计数大约为10000。