词法分析基本上分三步,
第一步把词法单元分割出来,
第二步判断词性,是数字,是普通变量,是关键字,还是是类型变量...
第三步确定其符合本词性所限定的语法规则,然后进行下一步的处理
如果第一个字符就能判断词性的话,接下来就是把这个词交给相应词性的正则表达式匹配器来判断是否通过
如果数字能做普通变量的开头,那么就要先匹配数字,直到遇到特定字符串再分配给普通变量的正则表达式匹配器来判断是否通过
这样对分析器的效率只有很小的影响。实际上关键字和普通变量的正则表达式就是重合的,比如c语言的while,当分析器读到e的时候也不能确定它是一个关键字还是普通变量
词法分析基本上分三步,第一步把词法单元分割出来,第二步判断词性,是数字,是普通变量,是关键字,还是是类型变量...第三步确定其符合本词性所限定的语法规则,然后进行下一步的处理
如果第一个字符就能判断词性的话,接下来就是把这个词交给相应词性的正则表达式匹配器来判断是否通过
如果数字能做普通变量的开头,那么就要先匹配数字,直到遇到特定字符串再分配给普通变量的正则表达式匹配器来判断是否通过
这样对分析器的效率只有很小的影响。实际上关键字和普通变量的正则表达式就是重合的,比如c语言的while,当分析器读到e的时候也不能确定它是一个关键字还是普通变量