Лабораторная №3 — задание 3.1A #
Нужно написать конспект по различиям двух ранее выбранных языков программирования (ЯП) в синтаксисе выражений с фокусом на числовые типы данных.
Порядок выполнения #
- Создайте файл
docs/competitors/expressions-grammar.md— там будет конспект в формате Markdown - Найдите описание лексической структуры двух ранее выбранных ЯП
- Сравните лексику этих языков и опишите различия в конспекте
expressions-grammar.md
Применение ИИ #
Для сбора информации рекомендуется использовать ИИ-модели в режиме чата.
Рекомендуемый подход:
- Составьте свой промпт и запустите его для двух разных ИИ-моделей
- Вдумчиво прочитайте результаты и выпишите ключевую информацию вручную в markdown файл
- Перепроверьте конспект — нет ли забытых вещей («слепых зон»), фактических ошибок или несущественных деталей?
Пример промпта #
Ты разработчик, а также специалист по формальным языкам и компиляторам.
Сделай обзор различий в синтаксисе выражений двух языков программирования: PHP и Pascal
Раздели обзор на следующие пункты:
1. Сравнение числовых типов данных
2. Сравнение арифметических операторов
3. Сравнение приоритетов операций
4. Список лево- и правоассоциативных операторов
5. Сравнение встроенных функций для работы с числами
6. Прочие особенности синтаксиса выражений
Пример MemSql #
Можно ориентироваться на Пример MemSql
Он содержит проект с подключённым генератором кода ANTLR4:
- Файл проекта:
src/SqlGrammar/SqlGrammar.csproj - NuGet-пакет
Antlr4BuildTasksреализует вызов генератора кода ANTLR4 во время сборки- Он автоматически скачивает и устанавливает Java-машину и JAR-архив ANTLR4 при первой сборке, если они ещё не установлены на компьютере
- Он вызывает генератор кода ANTLR4 после изменений в файлах грамматик
- NuGet-пакет
Antlr4.Runtime.Standardпредоставляет runtime библиотеку, необходимую для запуска сгенерированного кода - Правило
<Antlr4 Include="Grammars\SqlParser.g4" />показывает пакетуAntlr4BuildTasks, что файлGrammars\SqlParser.g4следует интерпретировать как файл грамматики