我的公司正在尝试为Android编写一些软件。我们希望与Java合作,并且公司的软件组件是C++,因此需要移植(或者至少在尝试NDK之前需要尝试移植)。此代码是使用Accent创建的,它定义了一种语法文法。据我所知,原作者(现在已经不在)写了一个语法来指定如何指定语法,然后用该语法和Accent编译编译器编译器。编译器编译器采用指定格式的语法并生成二进制代码来解析符合该语法的字符串。下面是语法的片段:用于Java的语法编译器编译器
//include rules from from this file (such as <alpha>)
include "alphabet.bnf"
<<topSymbol>> = <alpha> <alpha> <alpha>? .//two letters with an optional third
//square brackets enclose an XML statement clarifying semantics of the rule
[
<topSymbol>
<letter>
<command val="doSomethingToLetter"/>
</letter>
<!--etc.-->
</topSymbol>
]
我的问题是如何与Java做到这一点,使用ANTLR的或其他一些工具。编译器 - 编译器 - 编译器对我来说似乎相当复杂。或者,我想知道如何轻松地编译/解析这种类型的语法,其中包含语法和语义XML信息。
如果你需要一个编译器 - 编译器 - 编译器,那么你做错了什么。 –
语法语法。编译器编译器编译。 IT说唱? – maksimov
Yo dawg,我听说你喜欢描述语言,所以我为你的语法写了一个文法语法,这样你就可以解析你如何解析你的语法。 –