Я делаю лексический анализатор, который идентифицирует введенные слова, и до того момента, пока я не освоился с другими операторами, но теперь мне нужна помощь для добавления операторов или (||), приращения (++) и уменьшения (-) к методу: AddTokenRule
Какое будет правильное регулярное выражение?
Метод AddTokenRule
добавляет шаблон для распознавания, мы должны указать первое регулярное выражение, за которым следует имя токена и, наконец,необязательное значение типа bool
, указывающее, следует ли игнорировать соответствующий токен.
csLexer.AddTokenRule (@ "\ s +", "SPACE", true);
csLexer.AddTokenRule (@ "\ b [_a-zA-Z] [\ w] * \ b", "IDENTIFIER");
csLexer.AddTokenRule (@ "[- \ + \ * \ /]", "OPERATOR_ARITMETIC"); //This is where I need help to add the operator increment (++) and decrement (--)
csLexer.AddTokenRule (@ "== |> = | <= | <|> |! =", "OPERATOR_RELATIONAL");
csLexer.AddTokenRule (@ "&& |!", "OPERATOR_LOGIC"); //This is where I need help to add the operator || (or)
Я надеюсь, что выходное выражение может содержать оператор в той же строке или в новой строке: csLexer.AddTokenRule (@ "help", "OPERATOR_NEW");