对如下工作进行展开描述
(1) 给出语言的词法规则
· 标识符、关键字、整常数、字符常数、浮点常数
· 单界符:+,-,×,:,…
· 双界符:/*,:=,…
· 注释
(2) 针对这种单词的状态转换图和程序框图
(3) 核心数据结构的设计
如符号表、关键字等
(4) 错误处理
错误的位置及类型等
核心代码:
if (Character.isLetter(ch) == true | ch == '_' | ch == '$') {
do {
s += ch;
cur++;
if (cur >= str.length())
break;
ch = str.charAt(cur);
} while (Character.isLetter(ch) | Character.isDigit(ch)
| ch == '_' | ch == '$');
if (t.IsKeyWords(s)) {
Node node = new Node();
node.flag = 1;
node.name = "关键字";
node.values = s;
list.add(node);
} else {
Node node = new Node();
node.name = "标识符";
node.values = s;
node.flag = 1;
list.add(node);
}// end_of_else是关键字
cur--;// 指针回退
s = "";
} // end_of_if是关键字或者标示符
源代码下载链接:
http://download.csdn.net/detail/snxhkg/8185477