【发布时间】:2010-10-04 06:34:32
【问题描述】:
我正在编写一个扫描仪作为编译器的一部分。
我在写这一部分时头疼:
我需要能够解析标记流并将它们一个一个地推入向量中,忽略空格并标记特殊符号(简单的情况,让我们只考虑括号和大括号)
示例:
int main(){ }
应该解析成6个不同的token:
- int
- 主要
- (
- )
- {
- }
你会如何解决这个问题?我是用 C++ 编写的,但也欢迎使用 java/C# 解决方案。
几点:
不,我不能使用 Boost,我不能保证这些库会 可供我使用。 (别问……)
我不想使用 lex 或任何其他特殊工具。我从来没有做过 这个之前,只是想尝试一次,说我已经做到了。
【问题讨论】: