常见的计算机语言模式
词法符号依赖:
一个词法符号需要和一个或者多个后续词法符号匹配,例如配对的圆括号,花括号,方括号和尖括号
示例:
'(' expr ')' // 嵌套表达式
ID '[' expr ']' // 数组索引表达式
'{' stat* '}' // 花括号包裹的若干语句
'<' ID ( ',' ID )* '>' // 泛型声明
嵌套模式:
它是一种自相似的语言结构,例如表达式,Java的内部类,嵌套的代码块及嵌套的Python函数定义
示例:
expr : '(' expr ')' | ID ;
classDef : 'class' ID '{' ( classDef | method | field ) '}' ;