Unix Man (Справочное руководство)


LEX(1) - часть 2


D [0-9] %% if printf("IF statement\n"); [a-z]+ printf("tag, value %s\n",yytext); 0{D}+ printf("octal number %s\n",yytext); {D}+ printf("decimal number %s\n",yytext); "++" printf("unary op\n"); "+" printf("binary op\n"); "/*" skipcommnts(); %% skipcommnts() { for(;;) { while (input() != '*') ; if (input() != '/') unput(yytext[yyleng-1]); else return; } }

Внешние имена, сгенерированные программой lex, всегда начинаются с префикса yy или YY.

ОПЦИИ


-r -c -t -v -n
Выполняемые действия написаны на языке ratfor [см. ].
Выполняемые действия написаны на языке C (данная опция считается использованной по умолчанию).
Поместить результат на стандартный вывод вместо файла lex.yy.c.
Выдать статистическую сводку о построенном автомате.
Отменить выдачу статистики.

Если указано несколько файлов, они рассматриваются как один общий файл. Если файлы не указаны, обрабатывается стандартный ввод.

Размеры некоторых таблиц для генерируемого конечного автомата могут быть установлены в разделе определений:

%p n число позиций равно n (по умолчанию - 2500)
%n n число состояний (500)
%e n число узлов в дереве разбора (1000)
%a n число переходов (2000)
%k n число классов упакованных символов (1000)
%o n размер выходного массива (3000)

Использование одного или большего числа таких определений автоматически подразумевает задание опции -v, если не используется опция -n.

СМ. ТАКЖЕ


.

СЮРПРИЗЫ


Опция -r еще не полностью работоспособна.




Начало  Назад  Вперед



Книжный магазин