185 похожих чатов

Какие-Либо статьи по наипростейшему и безболезненнейшему парсингу c-like объявлений

структур (количество базовых типов фиксированно, но вложенные структуры и массивы возможны)?

20 ответов

32 просмотра

Не понял, а чем оно должно отличаться от парсинга произвольного простого C-like языка? А это решается flex+bison (или любыми аналогами).

Mikhail- Автор вопроса
Viktor Shamparov
Не понял, а чем оно должно отличаться от парсинга ...

так ничем, просто как это сделать за 5 минут на либкланг я уже щнаю, а на фоекс/бизон ещё нет :)

А в SWIG ? Подходящее?

Mikhail- Автор вопроса
Victor Miasnikov
А в SWIG ? Подходящее?

Э? Нет? Мне нужно просто распарсить c-like структуру и сделать некоторые действия на каждом узле (поле, вложенная структура, массив). Не очень виду как SWIG здесь может помочь

https://tomassetti.me/antlr-mega-tutorial/ ? Какой у вас стек языков?

Mikhail- Автор вопроса
Alex
Повод изучить!

Сделал на флексе в итоге (бизон сначала был для валидации, которую мне было лень пилить самому, но потом я её дропнул), получилось изи действительно

Mikhail
Сделал на флексе в итоге (бизон сначала был для ва...

Во. Флекс - средство старое и проверенное

ᛒ ᛖ ᚱ ᚲ ᚢ ᛊ ᛞ ᛖ ᚲ ᛖ ᚱ
И угрюмое.

Как лопата. А что в задорном и радостном должно быть?

Alex
Как лопата. А что в задорном и радостном должно бы...

поменьше глобалов а-ля YYTOKEN ну и какой-то более гуманный интерфейс вообще

Mikhail- Автор вопроса
ᛒ ᛖ ᚱ ᚲ ᚢ ᛊ ᛞ ᛖ ᚲ ᛖ ᚱ
поменьше глобалов а-ля YYTOKEN ну и какой-то боле...

У меня в одном проекте посоны используют REFlex (что-то на плюсах, с блекждеком, исключениями и далее), хз какой там интерфейс, но вроде не жалуются

ᛒ ᛖ ᚱ ᚲ ᚢ ᛊ ᛞ ᛖ ᚲ ᛖ ᚱ
поменьше глобалов а-ля YYTOKEN ну и какой-то боле...

Если про bison, то может и можно сделать красивее, но и к такому быстро привыкаешь

ᛒ ᛖ ᚱ ᚲ ᚢ ᛊ ᛞ ᛖ ᚲ ᛖ ᚱ
флекс эмулирует интерфейс бизона же

Не, это вы с yacc путаете. Flex - это генератор лексических анализаторов. Их вообще по отдельности можно использовать

Flex, кстати, тоже умеет плюсовый код генерить, но ещё лет 10-15 назад это была экспериментальная фича, и я не уверен что её стабильной сделали

Mikhail- Автор вопроса
Alex
Flex, кстати, тоже умеет плюсовый код генерить, но...

Умеет, использую, разницы не заметил.

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта