【发布时间】:2011-09-03 19:09:44
【问题描述】:
我已经发布了类似的问题here,但由于我没有正确解释自己,它被关闭了。 我会再次尝试解释我的问题。
我设法编写了 LexicalAnalyzer,它将以下内容标记为“public”、“class”、“A”、“{”、...、“if”、“(”、...、}”
string seq = "public class A " +
"{ " +
"public A() " +
"{ " +
"if(1==2) " +
"{ " +
"} " +
"else " +
"{ " +
"} " +
"} " +
"} "
现在,我需要将其解析为树。正如我所读到的,最好以采用规则的方式构造解析器。同时我需要为“if”语句编写规则,这些规则将传递给解析器,最后一个将构建解析树。将来,我将添加“类”等规则。
解析我的意思是最终我会得到类似的树like here in the right
我的问题是如何实现规则和解析器?你能指导我或举个简单的例子吗?
我已经阅读了一些帖子,但我没有找到可以帮助我做我需要的事情。
附:如果还是不清楚,请不要关闭帖子,但告诉我,我会改变它。
谢谢
【问题讨论】:
-
附带说明一下,如果您想要一个在代码中看起来结构正确的字符串,您可以使用逐字字符串文字。基本上,将
@放在"之前,然后您可以编写一个包含新行的字符串。
标签: c# parsing syntax lexical-analysis