例如,
EBNF A ::= B c; B ::= T1 | T2 | ε T1 ::= a T2 ::= b
(注:EBNF是一种用于描述语法的扩展巴克斯-瑙尔范式,其中A、B、T1和T2是非终结符号,c、a和b是终结符号,ε表示空串。)
如何在Java中编写解析器来解析 epsilon(空字符串集)?
EBNF A ::= B c; B ::= T1 | T2 | ε T1 ::= a T2 ::= b
(注:EBNF是一种用于描述语法的扩展巴克斯-瑙尔范式,其中A、B、T1和T2是非终结符号,c、a和b是终结符号,ε表示空串。)
parseA()
{
switch(currentToken.kind){
case Token.a :
parseT1();
case Token.b :
parseT2();
break;
case <epsilon> :
break;
default:
// report error
break;
}
}
如何在Java中编写解析器来解析 epsilon(空字符串集)?
StreamTokenizer.TT_EOF
作为哨兵标记:http://sites.google.com/site/drjohnbmatthews/enumerated-functions - trashgod