|
Навигация
|
Грамматика файла проекта
Ниже представлен исходный текст грамматики файла проекта для генератора синтаксических анализаторов Bison. Единственное замечание, из файла удалено всё, что непосредственно вставляется в исходный код генерируемой программы (смотрите описание формата файла для анализатора). %token Identifier
%token StringValue %token PROJECT %token END %token MODULES %token IN %token COMPILER %token LINKER %token IF %token THEN %token ELSE %token CASE %token OF %token SEMICOLON %token COLON %token ASSIGN %token COMMA %token POINT %token EQUIL %token NOTEQUIL %token GREATER %token GREATEROREQUIL %token LESS %token LESSOREQUIL %% /* Файл проекта не может быть пустым. */ ProjectFile: PROJECT Identifier SEMICOLON StatementsList END POINT StatementsList: Statement | StatementsList Statement Statement: SEMICOLON | IfThenStatement SEMICOLON | CaseOfStatement SEMICOLON | ModulesSection | DefinesSection IfThenStatement: IfThenEnd | IfThenElseEnd IfThenEnd: IF Expression THEN StatementsList END IfThenElseEnd: IF Expression THEN StatementsList ELSE StatementsList END Expression: Value Relation Value Relation: EQUIL | NOTEQUIL | GREATER | GREATEROREQUIL | LESS | LESSOREQUIL CaseOfStatement: CaseEnd | CaseElseEnd CaseEnd: CASE Identifier OF CaseList END CaseElseEnd: CASE Identifier OF CaseList ELSE StatementsList END CaseList: CaseString | CaseString CaseList CaseString: CasePoint SEMICOLON CasePoint: Value COLON StatementsList END ModulesSection: MODULES ModulesList SEMICOLON ModulesList: ModuleDeclaration | ModuleDeclaration COMMA ModulesList ModuleDeclaration: Identifier IN StringValue DefinesSection: DefineStatement SEMICOLON | COMPILER DefineStatement SEMICOLON | LINKER DefineStatement SEMICOLON DefineStatement: Identifier ASSIGN Value Value: StringValue | Identifier %% Смотрите так же: описание файла проекта. |