twhy bother? - plan9port - [fork] Plan 9 from user space (HTM) git clone git://src.adamsgaard.dk/plan9port (DIR) Log (DIR) Files (DIR) Refs (DIR) README (DIR) LICENSE --- (DIR) commit b8e710da0bbc3e7d1ff992b1ceff4cb1c67149c8 (DIR) parent 669a062b5ac041312f6b9371b665f9c1e2b93799 (HTM) Author: rsc <devnull@localhost> Date: Sun, 30 Jan 2005 16:48:14 +0000 why bother? Diffstat: M src/cmd/delatex.lx | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) --- (DIR) diff --git a/src/cmd/delatex.lx b/src/cmd/delatex.lx t@@ -1,9 +1,10 @@ /* Make this with: lex delatex.lex; cc lex.yy.c -ll -o delatex */ L [A-Za-z] -%Start Display Math Normal Tag +%Start Display Math Normal Tag VerbPlus Bracket %% <Normal>\' {yyleng--; yymore(); /* ignore apostrophes */} <Normal>{L}+\\- {yyleng-=2; yymore(); /* ignore hyphens */} +<Normal>[a-zA-Z0-9_]+@[a-zA-Z0-9_.]+ ; /* ignore email addresses */ <Normal>[a-z]/[^A-Za-z] ; /* ignore single letter "words" */ <Normal>[A-Z]+ ; /* ignore words all in uppercase */ <Normal>{L}+('{L}*)*{L} {printf("%s\n",yytext); /* any other letter seq is a word */} t@@ -21,8 +22,19 @@ L [A-Za-z] <Normal>"\\label{" BEGIN Tag; <Normal>"\\pageref{" BEGIN Tag; <Normal>"\\ref{" BEGIN Tag; +<Normal>"\\verb+" BEGIN VerbPlus; +<Normal>"\\documentclass[" BEGIN Bracket; +<Normal>"\\documentclass{" BEGIN Tag; +<Normal>"\\usepackage[" BEGIN Bracket; +<Normal>"\\usepackage{" BEGIN Tag; +<Bracket>[^\]] ; +<Bracket>"][" ; +<Bracket>"]{" BEGIN Tag; +<Bracket>"]" BEGIN Normal; <Tag>[^}] ; /* ignore things up to next "}" */ <Tag>"}" BEGIN Normal; +<VerbPlus>[^+] ; /* ignore thing up to next "+" */ +<VerbPlus>"+" BEGIN Normal; <Normal>[0-9]+ ; /* ignore numbers */ <Normal>"\\(" BEGIN Math; /* begin latex math mode */ <Math>"\\)" BEGIN Normal; /* end latex math mode */