【发布时间】:2012-03-06 00:52:13
【问题描述】:
我正在使用 Lex/Bison 创建一个简单的脚本语言,它可以翻译成 C。一个反编译器。
我知道 Bison 可以验证语法,但是范围界定呢?它可以验证之前声明的正在使用的标识符吗?是否必须手动完成?如果是,在哪一步?
例如这是语法正确的。 但不应该编译,因为消息在错误的范围内。此外,message2 从未被声明过。
String s1
if (s1=='knock on door')
String message1='Hello';
print message1;
print message2;
【问题讨论】:
标签: compiler-construction bison yacc lex parser-generator