Сообщение 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
[code]// Common options, for example, the target language
options
{
language = "CSharp";
}[code]
Присунул, куда показалось, надо, но что-то пошло не так
Если не жалко, помоги мне поднять мой технологический уровень
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
Дата: 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
Присунул, куда показалось, надо, но что-то пошло не так
Если не жалко, помоги мне поднять мой технологический уровень
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
Дата: 13.09.20
Если не жалко, помоги мне поднять мой технологический уровень