Привет, я пытаюсь разрешить lex / yacc разбить эту строку
table subwayLines:int[3]
на токены таблицы, subwayLines, int [3] с необязательным [3] (то есть int или int [3])
все в порядке, пока я не попытаюсь распознать "int", вот что я сделал в lex
[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
тогда это дает мне синтаксическую ошибку, так кто-нибудь знает, как это изменить?спасибо