bajdcc / jMiniLang

用Kotlin实现的编译器和虚拟机,并在此基础上构建操作系统。
http://files.cnblogs.com/files/bajdcc/jMiniLang-manual.pdf
MIT License
65 stars 20 forks source link

语法的处理还有一层 DSL? #1

Closed lfkdsk closed 7 years ago

lfkdsk commented 7 years ago

可以试试直接写成 BNF 的表达模式?

bajdcc commented 7 years ago

程序用LR分析来解析我自定义的jMiniLang语言,既然从C++移植过来,这些重载就不顶用了,所以我将DSL用字符串来表示,所以还要用一层Syntax类解析DSL,BNF范式在LALR1.grammar中的Grammar.java中。 既然DSL是字符串,有着仿DSL的语法所以还得解析DSL,这个我用LL分析去做了,在Syntax.java中。

lfkdsk commented 7 years ago

嗯,明白你的意思啦,我之前说的是试试 Parser Combinators去描述语法。