場当たり的エスケープ

とりあえず華麗に場当たり対処をしますた

--- xduce-0.5.0/src/lexer.mll   2005-04-06 16:05:07.000000000 +0900
+++ /home/flatline/xduce-0.5.0/src/lexer.mll    2006-04-11 09:34:31.000000000 +0900
@@ -55,6 +55,8 @@
 | float_literal
 | '-'float_literal
     { Parser.FLOATV (float_of_string(Lexing.lexeme lexbuf)) }
+| '`'
+    { escaped_variant lexbuf; }
 | "type" 
     { Parser.TYPE }
 | "and" 
@@ -259,3 +261,7 @@
     }
 | [^ '"' '\\' 't' 'n' '\'']
     { raise (Lexing(info lexbuf, "Illegal character constant")) }
+
+and escaped_variant = parse
+ ['A'-'Z' 'a'-'z' '_']['A'-'Z' 'a'-'z' '_' '0'-'9' '\'']*
+    { Parser.ID (Lexing.lexeme lexbuf) }

しかし本題を進める時間がもうない.
ついでに言うとAnother HTML lintは <ns1:html xmlns:ns1="http://www.w3.org/1999/xhtml" > 等の名前空間付きの要素名を認識してくれず,「タグが一つもありません」とか言われる orz