0
嗨,我试图让法/ yacc的拆分此字符串的lex/yacc的将无法识别的字符串(语法错误)
table subwayLines:int[3]
成表,subwayLines令牌,INT [3]与[ 3]可选的(即int或INT [3])
一切都很好,直到我试图识别“INT”, 所以这是我在法
[A-Za-z0-9\[\]]+ { /* column property*/
yylval.sval = (char *)strdup(yytext);
char* temp=yylval.sval;
return STRING;
}
我才知道问题在
[A-Za-z0-9\[\]]+
,因为当我改成了
[A-Za-z]+("[")?+[0-9]+("]")?+(",")?
它的工作原理只是我现在还不能去没有“[”或“]”,例如,如果我在字符串中写道的:
table subwayLines:int
然后它给了我一个语法错误 所以有谁知道如何改变它?感谢
是否有一个原因认识到'INT [3 ]'作为一个字符串标记,而不是将其作为四个标记返回并解析语法?如果有空白(是否允许?) 'int [3]'。 – Kaz 2012-03-19 19:49:59