compiler相关

· 325 words · 1 minute read

词法分析 🔗

词法分析输入char[], 输出token[].

语法分析 🔗

语法分析输入token[], 输出statement[].

语句的类型,先考虑var a = <expression>, return <expression>, { statements}块语句, <expression>;表达式语句, 暂时不考虑提条件控制语句, 可以简单明了地快速了解语法分析的本质。

语法分析最难的是表达式的解析,因为表达式可以是字面量变量名函数调用、还可以由操作符连接其他子表达式等形式多。

2, "world", true, a, -2, !true, a++, 1+2, add(a, b)

1 + 2 * 3 / 4 - 5 表达式解析需要注意两点: 运算符的优先级,运算符的结合性。多数运算符都是左结合性,赋值运算符是右结合性, a=b=1

其他学习点 🔗

在浏览器中引入 github 上的 js 模块 🔗

gitpod.io 在线 vs code 编辑器 🔗

参考 🔗