sab123: (face)
[personal profile] sab123
Уже наверное пару лет тому назад мне захотелось, чтобы интерпретируемый язык программирования мог взять да сгенерить из куска кода синтаксическое дерево, чтобы это дерево можно было потом программно поковырять, и результат скомпилировать уже в исполняемый код. Оно нужно чтобы писать обобщенные темплейты, которые будут связывать данные программистом аргументы в виде кусков кода с генерируемой темплейтом обвязкой. Ну вот например sql queries можно так изобразить. Но до того, чтобы прям что-то на эту тему сделать, я так и не дошел. Я ограничился передачей кусков кода в виде текста и манипуляцией с этим текстом перед вставлением этих кусков в общий шаблон.

А тут опа, и оказалось, что в C# оно уже есть. Называется Expression Trees. Как я понимаю, является тоже результатом их опыта с впихиванием кусков SQL (LINQ).

Date: 2016-08-29 11:10 pm (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Насколько я понимаю, некое подобие этого есть и в D.

Date: 2016-08-30 05:14 pm (UTC)
From: [identity profile] sab123.livejournal.com
А в питоне оно как выглядит? А то я подозреваю, что речь идет не о том. Кстати, вроде D - компилируемый язык, а как оно может быть в компилируемом языке кроме как через выполнение кода на стадии компиляции - мне непонятно.

Date: 2016-08-31 04:04 am (UTC)
From: [identity profile] anhinga-anhinga.livejournal.com
like this: https://greentreesnakes.readthedocs.io/en/latest/

Date: 2016-08-31 08:36 pm (UTC)
From: [identity profile] sab123.livejournal.com
О, похоже оно! Прелестно.

Date: 2016-08-29 11:13 pm (UTC)
From: [identity profile] 4da.livejournal.com
https://docs.racket-lang.org/syntax/Parsing_Syntax.html

January 2026

S M T W T F S
     12 3
45 6 78910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 9th, 2026 05:37 am
Powered by Dreamwidth Studios