Please enable JavaScript.
Coggle requires JavaScript to display documents.
javascript词法 - Coggle Diagram
javascript词法
普通词法
LineTerminator 换行符
Comment 注释
CommonToken 词
IdentifierName 标识符名称,典型案例是我们使用的变量名,注意这里关键字也包含在内了。
Punctuator 符号,我们使用的运算符和大括号等符号。
NumericLiteral 数字直接量,就是我们写的数字。
StringLiteral 字符串直接量,就是我们用单引号或者双引号引起来的直接量。
Template 字符串模板,用反引号` 括起来的直接量。
WhiteSpace 空白字符
特殊词法
意义:对于一些容易混淆的符号容易弄混乱。譬如"/"可能是除号或者正则。而字符串模板中,${}内部可以放任何javascript表达式代码,这些代码以"}"结尾,所以这部分词法不允许出现"}"运算符
其他部分大多一致,但是上述的两例被Token单独拿出来CommonToken
其它特殊Token
字符串模板 Template
InputElementTemplateTail
InputElementDiv;
正则表达式直接量 RegularExpressionLiteral
InputElementRegExpOrTemplateTail;
InputElementRegExp;
探究:试着写一个javascript的解释器(编译原理角度)