① 编译原理:构造表示“标识符”的正则表达式标识符定义:以字母开头的字母数字串,标识符可以有后缀,
^([A-Za-z]\w*)([.]([A-Za-z]\w*))*$
不知理解得对不对
比如
(java).(util).(Locale)
java util Locale三组都是以字母开头,后接单词字符(即[A-Za-z0-9_]的缩写\w)的表达式
② 编译原理中的词法分析器的输入与输出是什么
编译原理中的词法分析器的输入是源程序,输出是识别的记号流。
词法分析器编制一个读单词的程序,从输入的源程序中,识别出各个具有独立意义的单词,即基本保留字、标识符、常数、运算符和分隔符五大类。并依次输出各个单词的内部编码及单词符号自身值。(遇到错误时可显示“Error”,然后跳过错误部分继续显示)。
(2)标识符编译原理扩展阅读
词法分析器的作用:
1、与符号表进行交互,存储和读取符号表中的标识符的信息。
2、读入源程序的输入字符,将他们组成词素,生成并输出一个词法单元序列,每个词法单元序列对应一个于一个词素。
3、过滤掉程序中的注释和空白。
4、将编译器生成的错误消息与源程序的位置联系起。
③ 编译原理:c语言标识符的正则表达式
是缺了。这个只能匹配字母开头、字母数字组成的标示符
LZ可以自己加上,加在letter里