Size: a a a

Compiler Development

2020 June 03

PS

Peter Sovietov in Compiler Development
 ‌‌Gleb Pilipets
С одной стороны это можно интерпретировать как грамматическую ошибку и два токена - (123, name), а с другой стороны как лексическую и один еррор-токен(123name)
Поэтому вопрос и лишен смысла. Где грамматика разбираемого ЯП? :)
источник

 P

 ‌‌Gleb Pilipets... in Compiler Development
Ну С++
источник

 P

 ‌‌Gleb Pilipets... in Compiler Development
Тип грамматика же общеизвестная?
источник

AD

Artyom Drozdov in Compiler Development
 ‌‌Gleb Pilipets
Тип грамматика же общеизвестная?
к сожалению, нет
источник

MS

Mikola Summer Duck in Compiler Development
 ‌‌Gleb Pilipets
Тип грамматика же общеизвестная?
Она разная между стандартами. Например в С++11 твой токен — не лексическая ошибка.
источник

 P

 ‌‌Gleb Pilipets... in Compiler Development
С++11, например. Почему не лексическая ошибка?
источник

MS

Mikola Summer Duck in Compiler Development
Потому что есть user literal'ы.
источник

 P

 ‌‌Gleb Pilipets... in Compiler Development
Хм...
built-in literal + _ + suffix.
источник

 P

 ‌‌Gleb Pilipets... in Compiler Development
Тут же нету _
источник

 P

 ‌‌Gleb Pilipets... in Compiler Development
Это не user literal🤷‍♂
источник

MS

Mikola Summer Duck in Compiler Development
А, и правда. Тогда это ошибка лексера.
источник

 P

 ‌‌Gleb Pilipets... in Compiler Development
А почему лексера, а не грамматики?
источник

 P

 ‌‌Gleb Pilipets... in Compiler Development
То есть это всё-таки один токен будет?
источник

MS

Mikola Summer Duck in Compiler Development
Потому что это невозможный токен.
источник

MS

Mikola Summer Duck in Compiler Development
 ‌‌Gleb Pilipets
То есть это всё-таки один токен будет?
Это будет 0 токенов.
источник

MS

Mikola Summer Duck in Compiler Development
Потому что у тебя ошибка лексера.
источник

 P

 ‌‌Gleb Pilipets... in Compiler Development
Mikola Summer Duck
Потому что это невозможный токен.
Ну у нас есть такой исходный текст(выше), и лексер сматчит первый токен [0,3) и второй [3,6)
источник

 P

 ‌‌Gleb Pilipets... in Compiler Development
А то, что они стоят подряд, то уже ошибка грамматики
источник

MS

Mikola Summer Duck in Compiler Development
С чего бы ему их матчить?
источник

 P

 ‌‌Gleb Pilipets... in Compiler Development
Ну вот в этом и вопрос. ...
источник