Задание 3.1A

Лабораторная №3 — задание 3.1A #

Нужно написать конспект по различиям двух ранее выбранных языков программирования (ЯП) в синтаксисе выражений с фокусом на числовые типы данных.

Порядок выполнения #

  1. Создайте файл docs/competitors/expressions-grammar.md — там будет конспект в формате Markdown
  2. Найдите описание лексической структуры двух ранее выбранных ЯП
  3. Сравните лексику этих языков и опишите различия в конспекте expressions-grammar.md

Применение ИИ #

Для сбора информации рекомендуется использовать ИИ-модели в режиме чата.

Рекомендуемый подход:

  1. Составьте свой промпт и запустите его для двух разных ИИ-моделей
    • Можно выбрать DeepSeek в режиме “DeepThink”
    • Можно выбрать Qwen3-Max в режиме “Deep Research”
    • Можно выбрать Алису в режиме “Рассуждать”
    • Можно выбрать иную ИИ-модель
  2. Вдумчиво прочитайте результаты и выпишите ключевую информацию вручную в markdown файл
  3. Перепроверьте конспект — нет ли забытых вещей («слепых зон»), фактических ошибок или несущественных деталей?

Пример промпта #

Ты разработчик, а также специалист по формальным языкам и компиляторам.
Сделай обзор различий в синтаксисе выражений двух языков программирования: 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 следует интерпретировать как файл грамматики