Разработка компиляторов

       

Организация входного файла lburg


%{ ... --- пролог ... %} ... Описание стартового нетерминала Описание терминалов ... %% ... --- Описания правил ... %% ... --- эпилог ...

Входной файл lburg организован согласно традиционной схеме представления грамматик в средствах типа YACC (см. лекцию 8). Он поделен на следующие секции:

  1. пролог - содержит произвольный текст на языке реализации (в данном случае C)
  2. описание терминалов и стартового нетерминала грамматики
  3. описания правил, снабженных семантиками
  4. эпилог, также содержащий неформальный текст на языке реализации

При обработке lburg порождает по описанию грамматики функции разметки и свертки (при этом свертка использует заданные в правилах семантики), а пролог и эпилог соответственно просто копируются в начало и конец порожденного генератора кода.



Содержание раздела