我正在编写扫描程序作为编译器的一部分.
我试图写下这一部分时遇到了严重的问题:
我需要能够解析一个令牌流并将它们逐个推入一个向量中,忽略空格并标记特殊符号(简单的情况下,我们只考虑括号和括号)
例:
int main(){ }
应解析为6个不同的标记:
INT
主要
(
)
{
}
你会怎么解决这个问题?我用C++编写这个,但是java/C#解决方案也会受到赞赏.
一些要点:
不,我不能使用Boost,我不能保证我可以使用这些库.(不要问......)
我不想使用lex或任何其他特殊工具.我以前从未这样做过,只想尝试一次,说我做到了.
Michael Kris.. 6
Stroustrup的书,即C++编程语言,有一个很好的例子,可以为简单的计算器程序构建词法分析器/解析器.它应该是学习如何做你想做的事情的良好起点.
Stroustrup的书,即C++编程语言,有一个很好的例子,可以为简单的计算器程序构建词法分析器/解析器.它应该是学习如何做你想做的事情的良好起点.