设计简单编程语言的方法

fac*_*_14 5 compiler-construction bytecode language-design

在我不断寻求更多编程知识的努力中,我想出了一个尝试编写(至少现在)编译成字节码的简单编程语言的想法.问题是我不知道关于语言设计的第一件事.有没有人对构建解析器的方法以及每种语言应具备的基本功能有什么建议?你会为语言设计推荐什么样的读物?我的拍摄水平有多高?希望能够包含一个功能以允许内联字节码以类似于允许内联汇编程序的gcc的方式是不现实的吗?看到我主要使用C和Java编写代码,这对编译器编写会更好吗?

Dan*_*ral 3

有很多方法...

\n\n

您可以研究堆栈语言和 Forth。当涉及到设计其他语言时,它不是很有用,但它可以很快完成。

\n\n

你可以研究一下函数式语言。大多数都是基于一些简单的概念,并且有简单的解析。然而,它们非常强大。

\n\n

然后是传统语言。他们是最难的。您需要学习词法分析器、解析器、LALR 语法、LL 语法、EBNF 和常规语言才能通过解析。

\n\n

以字节码为目标不仅仅是一个好主意\xe2\x80\x93,否则在学习练习中这样做简直是疯狂的,而且几乎毫无用处。

\n\n

帮自己一个忙,查找有关编译器的书籍和教程。

\n\n

C 或 Java 都可以。Java 可能有一个优势,因为面向对象非常适合此类任务。我个人推荐是Scala。这是一种很好的语言来完成这类事情,并且它会一路教你有关语言设计的有趣的事情。

\n