aboutsummaryrefslogtreecommitdiff
path: root/xroff.lex
diff options
context:
space:
mode:
Diffstat (limited to 'xroff.lex')
-rw-r--r--xroff.lex72
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;
-}