Size: a a a

Compiler Development

2020 March 09

EM

Evgenii Moiseenko in Compiler Development
Peter Sovietov
Пропустил важное начало:

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

PS

Peter Sovietov in Compiler Development
Evgenii Moiseenko
Имхо, задача синтеза по денатационной семантике эффективного компилятора/интерпретатора в общем случае это уже ИИ полная задача
Ну, у меня свой интерес, потому что меня волнует не общий случай, а DSL-компиляторы :)
источник

PS

Peter Sovietov in Compiler Development
Кстати, когда я говорил, что это старая идея, то не шутил. Вот система, которая была разработана в середине 70-х:
источник

DP

Dmitry Ponyatov in Compiler Development
Peter Sovietov
Выше речь шла о форматированном выводе кода на основе AST. Можно показать, что эта задача чрезвычайно сложна, а можно — показать, что ее давно и успешно решают. Но мой контекст — форматирование автоматически сгенерированного кода.
шизнутся, и вообще ASCII представление программ выкинуть как пережиток мелкобуржуазного прошлого
источник

E

EgorBo in Compiler Development
думаю что очень добрая часть всех строк в мире - аски -_-
источник

А

Алексей ayaye :) in Compiler Development
Dmitry Ponyatov
шизнутся, и вообще ASCII представление программ выкинуть как пережиток мелкобуржуазного прошлого
именно ASCII или любое текстовое вообще?
источник

M

MaxGraey in Compiler Development
Dmitry Ponyatov
шизнутся, и вообще ASCII представление программ выкинуть как пережиток мелкобуржуазного прошлого
Верно! Пора уже на flow-graph based представления переходить а как средство ввода исполдьзовать нейроинтерфейс и/или голосовые команды и жесты 😂
источник

BD

Berkus Decker in Compiler Development
Алексей ayaye :)
именно ASCII или любое текстовое вообще?
ну вообще темы с ast представлением и прямым редактированием (projection editors) довольно интересное
источник

KR

K R in Compiler Development
MaxGraey
Верно! Пора уже на flow-graph based представления переходить а как средство ввода исполдьзовать нейроинтерфейс и/или голосовые команды и жесты 😂
Вы имеете ввиду LabView?
источник

AZ

Alexander Zaitsev in Compiler Development
K R
Вы имеете ввиду LabView?
уже устарело. Есть Метапрог на базе LabView
источник

А

Алексей ayaye :) in Compiler Development
Berkus Decker
ну вообще темы с ast представлением и прямым редактированием (projection editors) довольно интересное
при редактировании большую часть времени текст программы сломан. с ast такой фокус не пройдет, как редактировать так, чтобы он все время целый был?
источник

BD

Berkus Decker in Compiler Development
Алексей ayaye :)
при редактировании большую часть времени текст программы сломан. с ast такой фокус не пройдет, как редактировать так, чтобы он все время целый был?
проходит, если с умом подойти, посмотрите на isomorf.io
источник

M

MaxGraey in Compiler Development
K R
Вы имеете ввиду LabView?
LabView ужасный пример. Мне куда больше нравиться примеры Nuke, Fusion или Autodesk Smoke. А вообще в видео и аудио  продакшене и игровой индустрии а так же 3д редакторах этот подход применяется повсеместно
источник

DP

Dmitry Ponyatov in Compiler Development
MaxGraey
Верно! Пора уже на flow-graph based представления переходить а как средство ввода исполдьзовать нейроинтерфейс и/или голосовые команды и жесты 😂
Командная консоль для ввода вроде справляется, там другая засада -- когнитивная сложность, увеличивающаюся по мере роста объема графа. Где-то на ливежорнале попадались самые ранние посты про идеи MPS, возможно из-за этой же проблемы они назад на DSL вернулись.
источник

DP

Dmitry Ponyatov in Compiler Development
Dmitry Ponyatov
Командная консоль для ввода вроде справляется, там другая засада -- когнитивная сложность, увеличивающаюся по мере роста объема графа. Где-то на ливежорнале попадались самые ранние посты про идеи MPS, возможно из-за этой же проблемы они назад на DSL вернулись.
Может кто вживую видел системы Тыугу (рабочая смесь)? Там тоже пришлось языковой интерфейс использовать, или другие варианты хранения просто не рассматривались?
источник

AT

Alexander Tchitchigin in Compiler Development
Алексей ayaye :)
при редактировании большую часть времени текст программы сломан. с ast такой фокус не пройдет, как редактировать так, чтобы он все время целый был?
Удивительно, но JetBrains MPS/MBeddr справляется. 😉
источник

А

Алексей ayaye :) in Compiler Development
Alexander Tchitchigin
Удивительно, но JetBrains MPS/MBeddr справляется. 😉
охотно верю. интересна идея, как это сделать без сваливания в редактирование текста
источник

AT

Alexander Tchitchigin in Compiler Development
Алексей ayaye :)
охотно верю. интересна идея, как это сделать без сваливания в редактирование текста
Во-первых, там редактируется завуалированное AST - похоже на Лиспы. Во-вторых, есть и не особо текстовые представления и редакторы - табличные, например.
источник

AT

Alexander Tchitchigin in Compiler Development
Кроме того, если вспомнить про REPL-driven development, о котором так долго говорили Лисповики и примкнувшие к ним Смолтокеры, то окажется, что основная масса программы постоянно находится в совершенно нетекстовом и полностью исполнимом виде.
источник

AT

Alexander Tchitchigin in Compiler Development
И даже если отбросить практику REPL-driven development как меньшивистскую и не соответствующую идеалам Software Engineering, но прислушаться к выкрикам этих самых (Empirical) Software Engineers, то можно услышать, что основную массу времени программисты код НЕ пишут, а - о, ужас! - читают. И читают они таки синтаксически корректный, и более того - компилирующийся/исполняющийся - код. 😊
источник