Информация об изменениях

Сообщение Re[6]: Написание своего DSL от 13.09.2020 0:49

Изменено 13.09.2020 2:14 Marty

Re[6]: Написание своего DSL
Здравствуйте, Ночной Смотрящий, Вы писали:

M>>Ну, ок, возможно. Где бы еще посмотреть на что-то такое готовое, чтобы понять, как оно делается


НС>Примеры к antlr? Можно начать с калькулятора.


Я пока не буду целиком на всё отвечать, пока ещё раз решил попробовать antlr (кстати, javacc/sablecc лучше/хуже/удобнее/быстрее, не в курсе, не пробовал? JavaCC вроде в сипипи умеет, про саблю особо не искал), поднять свой технологический уровень, так сказать, и найти базу для дальнейшей дискуссии.

Хочу сгенерить парсер плюсиков. Грамматику взял тут — https://github.com/antlr/grammars-v4

По умолчанию генерится в джаву. Как через мавен сделать, чтобы генерился плюсовый код, пока не понял. Решил пойти по простому пути — https://en.wikipedia.org/wiki/ANTLR#Example
  Тут, внезапно
"generator=cpp:struct как бы намекает, что вместе с целевой областью тут какая то мешанина инструкций для процессинга, зачем оно там?"

Изначально у меня генераторы для типов задавались из командной строки. Потом я прикрутил в язык атрибуты, после чего (потому что могу) прикрутил атрибут generator с возможностью задания генератора для разных target-языков. Мне такое зашло, как и части коллег. Остальные, по старинке, используют командную строку. Не знаю, в какой последовательности аналогичные фичи (и когда — думаю, давно уже, но я не подглядывал) появились в ANTLR, но они есть. Но там ведь умные люди сидят, зачем эта мешанина?

[code]// Common options, for example, the target language
options
{
language = "CSharp";
}[code]

Присунул, куда показалось, надо, но что-то пошло не так
Автор: Marty
Дата: 13.09.20


Если не жалко, помоги мне поднять мой технологический уровень
Re[6]: Написание своего DSL
Здравствуйте, Ночной Смотрящий, Вы писали:

M>>Ну, ок, возможно. Где бы еще посмотреть на что-то такое готовое, чтобы понять, как оно делается


НС>Примеры к antlr? Можно начать с калькулятора.


Я пока не буду целиком на всё отвечать, пока ещё раз решил попробовать antlr (кстати, javacc/sablecc лучше/хуже/удобнее/быстрее, не в курсе, не пробовал? JavaCC вроде в сипипи умеет, про саблю особо не искал), поднять свой технологический уровень, так сказать, и найти базу для дальнейшей дискуссии.

Хочу сгенерить парсер плюсиков. Грамматику взял тут — https://github.com/antlr/grammars-v4

По умолчанию генерится в джаву. Как через мавен сделать, чтобы генерился плюсовый код, пока не понял. Решил пойти по простому пути — https://en.wikipedia.org/wiki/ANTLR#Example
  Тут, внезапно
"generator=cpp:struct как бы намекает, что вместе с целевой областью тут какая то мешанина инструкций для процессинга, зачем оно там?"

Изначально у меня генераторы для типов задавались из командной строки. Потом я прикрутил в язык атрибуты, после чего (потому что могу) прикрутил атрибут generator с возможностью задания генератора для разных target-языков. Мне такое зашло, как и части коллег. Остальные, по старинке, используют командную строку. Не знаю, в какой последовательности аналогичные фичи (и когда — думаю, давно уже, но я не подглядывал) появились в ANTLR, но они есть. Но там ведь умные люди сидят, зачем эта мешанина?

// Common options, for example, the target language
 options
 {
  language = "CSharp";
 }


Присунул, куда показалось, надо, но что-то пошло не так
Автор: Marty
Дата: 13.09.20


Если не жалко, помоги мне поднять мой технологический уровень