diff options
Diffstat (limited to 'xroff.lex')
-rw-r--r-- | xroff.lex | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/xroff.lex b/xroff.lex deleted file mode 100644 index 9326415..0000000 --- a/xroff.lex +++ /dev/null @@ -1,72 +0,0 @@ -%option noyywrap -%x NEW -%x REQ -%x RAW -%x ESC -%x RES - -%% - -\\ BEGIN(ESC); -^\n* /* Ignore newlines at beginning of file. */ -\n BEGIN(NEW); -\<!\[ BEGIN(RAW); -\<!--.*-->\n* /* Ignore comment. */ -^< printf("."); BEGIN(REQ); /* Beginning of file. */ -\< printf("\\c\n."); BEGIN(REQ); -. ECHO; - - /* Handle text following newlines. */ - -<NEW>\n /* Ignore consecutive newlines. */ -<NEW>\\ printf("\n"); BEGIN(ESC); -<NEW><!\[\n? printf("\n"); BEGIN(RAW); -<NEW><!--.*--> /* Ignore comment. */ -<NEW>< printf("\n."); BEGIN(REQ); -<NEW>\. printf("\n\\&."); BEGIN(0); -<NEW>. printf("\n"); BEGIN(0); REJECT; - - /* Translate request. */ - -<REQ>\\ BEGIN(RES); -<REQ>> BEGIN(NEW); - - /* Pass through raw troff code. */ - -<RAW>\n\]> BEGIN(NEW); -<RAW>\]> BEGIN(0); -<RAW>. ECHO; - - /* Escape next character. */ - -<ESC>\\ printf("\\\\"); BEGIN(0); -<ESC>< ECHO; BEGIN(0); -<ESC>. printf("\\"); ECHO; BEGIN(0); - - /* Escape next character within request. */ - -<RES>\\ printf("\\\\"); BEGIN(REQ); -<RES>> ECHO; BEGIN(REQ); -<RES>. printf("\\"); ECHO; BEGIN(REQ); - -%% - -int -main() -{ - char *st; - - yylex(); - - switch (YYSTATE) { - case 0: return 0; - case NEW: printf("\n"); return 0; - case REQ: st = "request"; break; - case RAW: st = "raw section"; break; - case ESC: st = "escape"; break; - case RES: st = "escape (within request)"; break; - } - - fprintf(stderr, "%s unfinished\n", st); - return 1; -} |