Size: a a a

Compiler Development

2020 December 16

M

MrSmith in Compiler Development
Сразу вопрос в копилку, попытки распарсить С вообше имеют смысл или это концептуально не возможно?
источник

BD

Berkus Decker in Compiler Development
MrSmith
Кто понимает как работают LR 1 парсер генераторы?
це ж бизон, не?
источник

M

MrSmith in Compiler Development
не конечно
источник

M

MrSmith in Compiler Development
Бизон это суп набор парсеров, там и GLR и LALR и IELR
источник

BD

Berkus Decker in Compiler Development
Bison by default generates LALR(1) parsers but it can also generate canonical LR, IELR(1) and GLR parsers.
источник

BD

Berkus Decker in Compiler Development
ну вот, LR парсер тебе пожалст
источник

M

MrSmith in Compiler Development
Ну LR то есть, вопрос в другом а си только LR(1) сможет
источник

M

MrSmith in Compiler Development
А то может нет и там помимо lexer hack еше вагон костылей надо
источник

M

MrSmith in Compiler Development
Я к чему, у мне lalrpop а не бизон, я просто так не могу по шелчку использовать что то что можно в бизоне, поэтому и спрашиваю, если нельзя то выкидываю lalrpop и на чем то другом делаю
источник

BD

Berkus Decker in Compiler Development
https://en.wikipedia.org/wiki/Canonical_LR_parser вот тут можешь прочитать как работает LR(1) и соотв-но как его можно генерировать
источник

BD

Berkus Decker in Compiler Development
MrSmith
Я к чему, у мне lalrpop а не бизон, я просто так не могу по шелчку использовать что то что можно в бизоне, поэтому и спрашиваю, если нельзя то выкидываю lalrpop и на чем то другом делаю
ну а где гарантии что на чем-то другом получится не так же как на lalrpop?
источник

K

Kir in Compiler Development
MrSmith
Кто понимает как работают LR 1 парсер генераторы?
Оно генерит таблицу, и по этой таблице и идёт автомат, поглощая токены от лексера
источник

M

MrSmith in Compiler Development
Ну тут все говорят что теории 90 лет в обед вот я и спрашиваю как формально то проверить что оно вообше возможно
источник

M

MrSmith in Compiler Development
А то может формально не фозможно даже а я тут сижу че то думаю
источник

K

Kir in Compiler Development
MrSmith
Ну тут все говорят что теории 90 лет в обед вот я и спрашиваю как формально то проверить что оно вообше возможно
С++ точно в LR не укладывается, да и C наверное, тоже.
источник

M

MrSmith in Compiler Development
Kir
С++ точно в LR не укладывается, да и C наверное, тоже.
А вдруг укладывается, наверное чет не совсем то что я хочу услышать
источник

K

Kir in Compiler Development
Им нужны ли GLR, либо Token hacks
источник

M

MrSmith in Compiler Development
lexer hack уже завезен
источник

M

MrSmith in Compiler Development
всеравно lalrpop мне орет что есть ошибки жифт редукции что говорит о том что часть парсера не LR 1 как мне сказали в чате парсера
источник

K

Kir in Compiler Development
А надо LR для С построить или что?
источник