Size: a a a

Compiler Development

2021 May 26

к

кана in Compiler Development
ну получается довольно адхок решение конечно, не самое красивое. Но работает
источник

K

Kir in Compiler Development
Не, само дерево ты ж описчваешь отдельно, а парсер его просто строит.
источник

РС

Роман Соловьев... in Compiler Development
всмысле?оО
источник

K

Kir in Compiler Development
Сделай парсер s-выражений и фигачь лисп
источник

K

Kir in Compiler Development
Ты отдельно описываешь тип для твоего AST, разве нет?
источник

h

hazer_hazer in Compiler Development
да не. сказал бы мне кто это раньше. я уже сделал парсинг более-менее рабочий 😕
источник

РС

Роман Соловьев... in Compiler Development
неть, где читать об этом?
источник

K

Kir in Compiler Development
Ну там, это

type expr =
 | Var of info * name
 | Fun of name * expr
 | Call of expr * expr
источник

K

Kir in Compiler Development
В TAPL начинают с таких деревьев, но это книга про тайпчекинг, а не про разбор
источник

к

кана in Compiler Development
так
источник

к

кана in Compiler Development
а во что ты собрался парсить
источник

K

Kir in Compiler Development
А что у тебя тогда на выходе парсера?
источник

h

hazer_hazer in Compiler Development
TOV_MULTIMASSO имеет в виду ручками)
То есть, вместо того, чтобы делать парсер, который из print('Hello') построил AST, ты ручками сам в коде пишешь:
AST {ExpressionStatement {FuncCall(args: [String{'Hello'}])}}
источник

РС

Роман Соловьев... in Compiler Development
а что это вообще?
источник

РС

Роман Соловьев... in Compiler Development
а я как раз эту часть ещё не сделал)
источник

K

Kir in Compiler Development
Очень рекомендую делать всё на функциональных языках. Разница между 2 экранами описания типов и 400 строками ООПшного бойлерплейта весьмааа ощутима
источник

h

hazer_hazer in Compiler Development
😭
источник

K

Kir in Compiler Development
https://bitbucket.org/heimdell/lvm/src/master/Types.fs - вот у меня описано AST, type program
источник

РС

Роман Соловьев... in Compiler Development
у синтаксического пока просто в список кидаю все что валидного напарсил
источник

K

Kir in Compiler Development
Какой же это разбор тогда, если на выходе не дерево?
источник