Size: a a a

Чат "Программист"

2020 October 19

ВП

Винни Пух.d in Чат "Программист"
Your KVXMMU
есть statement based и expression based япы
а у меня нихуя-based яп.
источник

YK

Your KVXMMU in Чат "Программист"
я сказал что пух это из башки своей придумал
источник

YK

Your KVXMMU in Чат "Программист"
Винни Пух.d
а у меня нихуя-based яп.
т.е. ты даже не понимаешь как парсишь?
источник

ВП

Винни Пух.d in Чат "Программист"
Your KVXMMU
т.е. ты даже не понимаешь как парсишь?
я понимаю только одно: создаю сущность на каждый блок, и этими сущностями оперирую.
источник

b

barmatografOS in Чат "Программист"
Your KVXMMU
я сказал что пух это из башки своей придумал
что бы он там не придумал, твоя необоснованная уверенность в своих словах и гонево на пуха не имеет никакой подоплеки
источник

YK

Your KVXMMU in Чат "Программист"
Блять стой
источник

YK

Your KVXMMU in Чат "Программист"
Your KVXMMU
Блять стой
на гит зальешь потом посмотрим
источник

ВП

Винни Пух.d in Чат "Программист"
а куда я денусь. У меня почти каждый проект на гите лежит.
источник

YK

Your KVXMMU in Чат "Программист"
barmatografOS
что бы он там не придумал, твоя необоснованная уверенность в своих словах и гонево на пуха не имеет никакой подоплеки
вполне имеет, читал объяснение?
источник

YK

Your KVXMMU in Чат "Программист"
Винни Пух.d
окей, смотри. Я делаю так: при парсинге блоков, создаю для каждого свою сущность питоньего класса. В самом интерпритаторе, я и оперирую этими сущностями. После того, как каждый блок перевёл в сущность, начинается пост-парсинг: все ветвления я укладываю в единый класс ConditionBranch. Это удобно, потому что в самом интерпритаторе, натыкаясь на сущность этого класса, могу просто передать ему экзекьютор и контекст, получив в итоге нужный блок кода (никак не связываясь с условиями, и прочим). Что довольно удобно, как бы ты не усирался об обратном
.
источник

ВП

Винни Пух.d in Чат "Программист"
Your KVXMMU
вполне имеет, читал объяснение?
а какое это имеет отноешение: а) к теме о термине; б) что именно тебе здесь не нравится? Хватит гнать на пустом месте.
источник

ВП

Винни Пух.d in Чат "Программист"
или у тебя привычка, называть каждое мое действие говном?
источник

YK

Your KVXMMU in Чат "Программист"
допустим он не понимает что за япы построенные на выражениях и на стейтментах
источник

YK

Your KVXMMU in Чат "Программист"
Your KVXMMU
допустим он не понимает что за япы построенные на выражениях и на стейтментах
и неосознанно один из них реализует
источник

YK

Your KVXMMU in Чат "Программист"
Винни Пух.d
а какое это имеет отноешение: а) к теме о термине; б) что именно тебе здесь не нравится? Хватит гнать на пустом месте.
я ща объясняю
источник

ВП

Винни Пух.d in Чат "Программист"
Your KVXMMU
и неосознанно один из них реализует
я следую зову сердца
источник

YK

Your KVXMMU in Чат "Программист"
Your KVXMMU
и неосознанно один из них реализует
однако все это крайне странно делается. Пух, вот объясни: первый и второй этап парсинга подробно
источник

YK

Your KVXMMU in Чат "Программист"
я так понимаю ты сначала парсишь токены, составляешь дерево, а потом занимаешься семантическим анализом?
источник

ВП

Винни Пух.d in Чат "Программист"
Your KVXMMU
однако все это крайне странно делается. Пух, вот объясни: первый и второй этап парсинга подробно
ну по факту, первым этапом я убираю всё лишнее из кода, делая из него однострочник, посредством убирания всех пробелов, табов, новых строк.

вторым этапом - разбиваю результат первого этапа на блоки, каждый из них пропускаю через регулярки, дабы определить тип конструкции, и "скомпилировать" в нужную сущность. На этом же моменте, я и рекурсивно парсю тело функций/классов/ветвлений, расставляю идентификационные номера каждому блоку, и прочие фишки, по типу того же соединения ветвлений в один класс

третьим этапом - просто выполняю блоки
источник

YK

Your KVXMMU in Чат "Программист"
первый этап лишний
источник