GPLex + GPPG: различия между версиями

Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Строка 17: Строка 17:
===Компиляция проекта===
===Компиляция проекта===
#Выполняем команду gplex.exe /noparser my.lex
#Выполняем команду gplex.exe /noparser my.lex
При этом генерируется файл my.cs, содержащий код лексера. Ключ /noparser означает, что генерируется лексер без парсера.
:При этом генерируется файл my.cs, содержащий код лексера. Ключ /noparser означает, что генерируется лексер без парсера.
#Открываем и компилируем sln
#Открываем и компилируем sln

Версия от 21:24, 8 марта 2010

Практическое занятие 1

  • GPLex - генератор сканеров (лексических анализаторов)
  • GPPG - генератор парсеров (синтаксических анализаторов)

Комплект для практического занятия скачиваем отсюда. Состав:

  • LexProjects.sln - файл решения, содержащее проект Lex1.csproj
  • Lex1.csproj - файл демонстрационного проекта для GPLex
  • gplex.exe - исполняемый файл генератора сканеров
  • gppg.exe - исполняемый файл генератора парсеров
  • ShiftReduceParser.dll - внешняя сборка, необходимая для работы сгенерированного компилятора
  • gplexx.frame - файл, включаемый в генерируемый файл лексического анализатора
  • mymain.cs - основная программа, содержащая создание сканера и сканирование всех лексем в файле
  • my.lex - файл, содержащий правила для генерации лексического анализатора
  • a.txt - файл программы, подаваемой на вход сгенерированному лексеру

Компиляция проекта

  1. Выполняем команду gplex.exe /noparser my.lex
При этом генерируется файл my.cs, содержащий код лексера. Ключ /noparser означает, что генерируется лексер без парсера.
  1. Открываем и компилируем sln