Как я могу отличить оператор плюс от положительного знака в Lex? - PullRequest
0 голосов
/ 17 апреля 2019

Я пишу lex для языка почти как C, и мне нужно различать эти два признака.Например:

a+b -> знак плюс

+a -> знак плюс

Где a и b могут быть числами или идентификаторами.У меня уже есть регулярное выражение для чисел и идентификаторов, но теперь я застрял в этом вопросе.Как я могу это сделать

1 Ответ

1 голос
/ 17 апреля 2019

Задача лексера не различать инфиксные и префиксные операторы.Знак плюс должен в любом случае создавать один и тот же токен, и тогда синтаксический анализатор может обрабатывать его по-разному в зависимости от того, находится ли он в префиксе или инфиксе.

...