相关疑难解决方法(0)

为什么不能用LR(1)解析器解析C++?

我正在阅读解析器和解析器生成器,并在维基百科的LR解析页面中找到了这个语句:

可以使用LR解析器的一些变体来解析许多编程语言.一个值得注意的例外是C++.

为什么会这样?C++的哪个特定属性导致无法使用LR解析器进行解析?

使用谷歌,我只发现C可以用LR(1)完美解析,但C++需要LR(∞).

c++ grammar parsing formal-languages

147
推荐指数
6
解决办法
3万
查看次数

Z80 ASM BNF结构......我在正确的轨道上吗?

我正在尝试学习BNF并尝试组装一些Z80 ASM代码.由于我是两个领域的新手,我的问题是,我是否在正确的轨道上?我正在尝试将Z80 ASM的格式编写为EBNF,以便我可以从那里找出从源头创建机器代码的位置.目前我有以下内容:

Assignment = Identifier, ":" ;

Instruction = Opcode, [ Operand ], [ Operand ] ;

Operand = Identifier | Something* ;

Something* = "(" , Identifier, ")" ;

Identifier = Alpha, { Numeric | Alpha } ;

Opcode = Alpha, Alpha ;

Int = [ "-" ], Numeric, { Numeric } ;

Alpha = "A" | "B" | "C" | "D" | "E" | "F" | 
        "G" | "H" | "I" | "J" | "K" | "L" …
Run Code Online (Sandbox Code Playgroud)

assembly z80 bnf ebnf

10
推荐指数
1
解决办法
3824
查看次数

标签 统计

assembly ×1

bnf ×1

c++ ×1

ebnf ×1

formal-languages ×1

grammar ×1

parsing ×1

z80 ×1