[英]Why can't lex recognize my regular expression definitions
我这样做是:
/* regular definitions */
DECLARATIONS declarations
ENDDECLARATIONS (enddeclarations)
INT (int)
METHOD (method)
PROGRAM (program)
和
{DECLARATIONS} {yycolumn+=yyleng;return (DECLARATIONSnum);}
识别它,但我发现他们没有被识别.....如果我这样做,则:
"declarations" {yycolumn+=yyleng;return (DECLARATIONSnum);}
有效。 我真的不明白为什么。
输入示例如下:
program p2;
class Test {
method void main()
declarations
int x;
目前它是这样的:
program p2
5 1 SEMInum
class Test
6 1 LBRACEnum
method void main
7 1 LPARENnum
在程序中,类应被识别为保留字,但不能被识别。
DECLARATION declarations
单数
{DECLARATIONS} {yycolumn+=yyleng;return (DECLARATIONSnum);}
复数
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.