Working on an alternative modifier syntax for nested function calls 🏢

#constraint_programming #OpenSource #ANTLR4

Как я мигрировал COBOL-код мейнфрейма на Java: разные подходы и почему ANTLR — лучший выбор

Когда я работал в одной зарубежной компании, мне поставили задачу мигрировать COBOL‑систему расчета инвойсов с мейнфрейма на Java. Она звучала довольно просто: «Нужно переписать старый COBOL‑код на Java, чтобы система жила дальше». Я тогда подумал, что это будет очередная рутина — взять дремучее легаси, аккуратно переложить его на современную версию Java, возможно, чуть подчистить архитектуру, внести небольшие косметические правки и закрыть задачу. В голове уже созрел рабочий план: пара итераций по автогенерации кода с помощью нейронки и готово. В общем, казалось, что ничего особенного.

https://habr.com/ru/articles/980846/

#туториал #java #cobol #миграция #antlr4

Как я мигрировал COBOL-код мейнфрейма на Java: разные подходы и почему ANTLR — лучший выбор

COBOL + ANTLR = JAVA Введение Когда я работал в одной зарубежной компании, мне поставили задачу мигрировать COBOL-систему расчета инвойсов с мейнфрейма на Java. Она звучала довольно просто: «Нужно...

Хабр

Ok, it was because it was parsing "practice" as a SYMBOL token ([a-z][a-zA-Z0-9]+) instead of a PRACTICE_KEYWORD token ('practice').

Even if PRACTICE_KEYWORD was way before SYMBOL, as precedence rules suggest.

And you know why?

Because even by triggering a compilation of the generated #Antlr4 files, some were STALE AS F*CK.

Had to delete them all and regenerate from scratch. At that point, it worked. Jeez.

"I wanted 'practice', instead I found 'practice'!"

#antlr4 go home you're drunk

(no but, seriously, why xD)

mhhhh, I am having to write less error messages than expected for my editor

🤔💭

My previous editor did the ANTLR based parsing and interpretation at once,
which required a lot more error checking.
So, splitting up the parsing and interpretation reduced the need for error handling... but still .. 🤔💭 ... by that much ...

https://codeberg.org/splitcells-net/net.splitcells.network/src/branch/master/projects/net.splitcells.gel.editor/src/main/java/net/splitcells/gel/editor/Editor.java

#Java #ANTLR4

net.splitcells.network/projects/net.splitcells.gel.editor/src/main/java/net/splitcells/gel/editor/Editor.java at master

net.splitcells.network

Codeberg.org

Now I have restored my grammar error report ☠️

#ANTLR4 #Java

Fun fact: everything except for strings and integers is now a function call, as it simplifies the language and its interpreter. This also applies for references. 😂

#ANTLR4 #OpenSource #constraint_programming

Как я сделал PR на 14К строк в проект YDB будучи студентом

В этой статье я хотел бы рассказать о задаче, решение которой легло в основу моей дипломной работы. На момент ноября 2023 года я был студентом Физтеха ‑– учился на базовой кафедре Яндекса, программа обучения которой реализуется совместно с ШАДом. Задача заключалась в переводе парсера языка запросов YQL (диалект SQL для YDB и YTsaurus) с ANTLR3 на ANTLR4. Мой наставник в ШАД и руководитель команды разработки клиентских библиотек YDB в Яндексе к. т. н. Алексей Мясников @asmyasnikov отметил еёе как особо сложную. Но меня это не отпугнуло:, тема работы из всех тем, предложенных в ШАД, эта показалась самой интересной и близкой мне.

https://habr.com/ru/companies/yandex/articles/873464/

#яндекс #базы_данных #antlr4 #парсинг #ydb

Как я сделал PR на 14К строк в проект YDB будучи студентом

В этой статье я хотел бы рассказать о задаче, решение которой легло в основу моей дипломной работы. В ноябре 2023 года я был студентом Физтеха — учился...

Хабр
Filter ANTLR4 tokens before using them in parser

I'm trying to have a grammar that ignores whatever text is within undefined #if statements, like tokens from this string #if UNDEFINED bla bla #endif Real Code here should be transformed to the ...

Stack Overflow

Как сделать анализатор кода за два дня

Статический анализ — это очень мощный инструмент, позволяющий следить за качеством кода. Предлагаю вместе попробовать написать простой Lua анализатор на Java, чтобы понять, как устроены статические анализаторы кода внутри.

https://habr.com/ru/companies/pvs-studio/articles/835936/

#PVSStudio #Lua #Java #antlr #antlr4 #статический_анализ #компиляторы #ast #утиная_типизация

Как сделать анализатор кода за два дня

Статический анализ — это очень мощный инструмент, позволяющий следить за качеством кода. Предлагаю вместе попробовать написать простой Lua анализатор на Java, чтобы понять, как устроены статические...

Хабр