Size: a a a

Compiler Development

2021 April 27

B

Brenoritvrezorkre in Compiler Development
Нет, я спрашиваю, верно ли то, что говорится, что сам META II может выразить собственный метаязык.
источник

VK

Vladimir Kazanov in Compiler Development
совершенно верно, может. и в статье ниже подробно описывается, как это работает:

http://www.bayfronttechnologies.com/mc_tutorial.html
источник

B

Brenoritvrezorkre in Compiler Development
Если я всё правильно понимаю, выражение L на L — это возможность в L полностью описать грамматику L и сгенерировать L.

Это не выражение metaL в L.
источник

B

Brenoritvrezorkre in Compiler Development
metaL не должен быть выражаем в L
источник

M

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

M

MrSmith in Compiler Development
Правда так не принято говорить
источник

M

MrSmith in Compiler Development
Но терминологически все верно
источник

M

MrSmith in Compiler Development
Я так понял, это язык с модифицируемым синтаксисом и семантическими скоупами но это не точно
источник

МБ

Михаил Бахтерев... in Compiler Development
Ну, там, на самом деле, нет даже чистого свойства, что в L строится определение L, потому что нужен внешний fixpoint. Но просто такая вот терминология.
источник

B

Brenoritvrezorkre in Compiler Development
Дам пояснения, если кто-то запутался
источник

B

Brenoritvrezorkre in Compiler Development
Насколько я понял по обсуждению в чате Formal Compiler, логическая семантика (выражаемая как раз в метаязыке) в теории языков программирования называется динамической семантикой (почему-то, но ладно).
источник

B

Brenoritvrezorkre in Compiler Development
Так вот, утверждение, что metaL не должен быть выражаем в L здесь значит, что L не должен быть выражающим собственную динамическую семантику.
источник

M

MrSmith in Compiler Development
Вот теперь и запутался
источник

B

Brenoritvrezorkre in Compiler Development
Правильно ли я теперь понимаю, что говорилось, что META II просто может выразить собственную грамматику, но не говорилось, что META II может выразить собственную динамическую семантику?
источник

МБ

Михаил Бахтерев... in Compiler Development
Может. В терминах ранее заданной динамической семантики.
источник

МБ

Михаил Бахтерев... in Compiler Development
Ну, то есть, когда мы пишем интерпретатор ЯП L на ЯП К, то мы в терминах динамической семантики K выражаем семантику L.
источник

B

Brenoritvrezorkre in Compiler Development
То есть, мы описали динамическую семантику META II, мы описали грамматику META II, и META II может выразить описанную собственную динамическую семантику?
источник

МБ

Михаил Бахтерев... in Compiler Development
Ага, в терминах уже заданной динамической семантики. Можно это всё по семантике абстрагировать и засунуть под fixpoint-оператор, тогда динамическя семантика будет результатом его действия.
источник

AT

Alexander Tchitchigi... in Compiler Development
Не знаю насчт именно логической семантики (в логике), но динамическая (операционная, скажем) семантика ЯП выражается вообще на "левом" языке — не метаязыке. На метаязыке мы потом формулируем и доказываем, например, здравость, связывающую статическую и динамическую семантику этого ЯП.

Или не так? 🤔
источник

B

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