python - 开始编写非上下文无关的编程语言的好资源是什么?

标签 python compiler-construction programming-languages interpreter

<分区>

我正在寻找一种有趣的编程语言,但是我看到的大部分资源都是用于编写上下文无关语言的,但是我希望编写一种语言,如 python,使用缩进,据我所知意味着它不能是上下文无关的。

最佳答案

简单来说,上下文无关文法是一种不需要符号表即可正确解析代码的文法。上下文相关的语法可以。

D 编程语言是上下文无关文法的一个例子。 C++是上下文敏感的。 (例如,T*x 是声明 x 为指向 T 的指针,还是将 T 乘以 x?我们只能通过在符号表中查找 T 来判断它是类型还是变量。)

空格与它无关。

D 使用上下文无关文法来大大简化解析,以便简单的工具可以解析它(例如语法高亮编辑器)。

关于python - 开始编写非上下文无关的编程语言的好资源是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68243/

相关文章:

python - 如何使用 Python 在 3D 图形表面上绘制图像文件? - 不绘制为平面

python - 检查列表理解中的总和

python - pandas.read_csv() 方法中的 `sep` 和 `delimiter` 属性有什么区别?

c++ - Boost/thread/locks.hpp(85) 编译错误(缺少括号)VS2010

sql - 在棕地应用程序中实现单元测试的首要任务是什么?

python - Django:如何在管理面板中检测对象请求?

c - 在构建词法分析器时使用哈希表

performance - 为什么很难用 JIT 编译器击败 AOT 编译器(在应用程序性能方面)?

python - 在 Django 中连接字符串时如何换行

performance - Ada 是如何实现 'mod' 和 'range' 类型的?性能影响是什么?