<分区>
我正在寻找一种有趣的编程语言,但是我看到的大部分资源都是用于编写上下文无关语言的,但是我希望编写一种语言,如 python,使用缩进,据我所知意味着它不能是上下文无关的。
<分区>
我正在寻找一种有趣的编程语言,但是我看到的大部分资源都是用于编写上下文无关语言的,但是我希望编写一种语言,如 python,使用缩进,据我所知意味着它不能是上下文无关的。
最佳答案
简单来说,上下文无关文法是一种不需要符号表即可正确解析代码的文法。上下文相关的语法可以。
D 编程语言是上下文无关文法的一个例子。 C++是上下文敏感的。 (例如,T*x 是声明 x 为指向 T 的指针,还是将 T 乘以 x?我们只能通过在符号表中查找 T 来判断它是类型还是变量。)
空格与它无关。
D 使用上下文无关文法来大大简化解析,以便简单的工具可以解析它(例如语法高亮编辑器)。
关于python - 开始编写非上下文无关的编程语言的好资源是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68243/