我想知道如何生成Python语言的语法以及解释器如何理解它.
在python中,该文件graminit.c似乎实现了语法,但我不清楚它.
更广泛地说,生成语法的不同方法是什么,并且在Perl,Python或Lua等语言中如何实现语法之间存在差异.
语法通常具有相同的形式:Backus-Naur形式(BNF)是典型的.
词汇表/解析器可以采用非常不同的形式.
词法分析器将输入文件分解为标记.解析器使用语法根据其规则查看令牌流是否"有效".
通常结果是一个抽象语法树(AST),然后可以用来生成任何你想要的东西,比如字节码或汇编.