💡
原文中文,约7800字,阅读约需19分钟。
📝
内容提要
介绍使用tree-sitter创建解析器的规则和函数,包括seq、choice、repeat、optional、prec、token、alias和field等,可构建复杂的语法逻辑并输出解析结果。其中,prec函数指定规则优先级,alias函数在语法树中使用替代名称。
🎯
关键要点
-
介绍使用tree-sitter创建解析器的规则和函数,包括seq、choice、repeat、optional、prec、token、alias和field等。
-
tree-sitter的语法比bison和antlr4简单,使用js描述可以构建复杂逻辑。
-
环境准备包括安装tree-sitter-cil、准备C编译器环境和node环境。
-
创建tree-sitter-calc解析器的步骤包括创建项目和编写grammar.js。
-
使用prec函数指定规则优先级,alias函数在语法树中使用替代名称。
-
测试解析效果,确保表达式解析符合运算符优先级。
-
参考tree-sitter-json说明每行的语法效果,展示如何处理JSON格式。
-
提供语法参考表,列出额外表达式、公共字段和内置函数的说明。
🏷️
标签
➡️