%% %include Jflex.include %init{ /* code dans le constructeur : action initiale */ System.out.println("Analyse Commentaires HTML5.1"); %init} %eof{ /* code en action final */ System.out.println("Bye!"); %eof} COM_IN = "" /* ne commence pas par ">", par "->" ou par "--" */ START_TEXT = [^>-]|-[^>-] /* sans "--" et ne termine par "-" */ TEXT = [^-]*(-[^-]+)* /* sans -- strict (inutile)*/ NODASHDASH = {TEXT}-? /* commentaire HTML 5.1 */ COMMENT = {COM_IN}({START_TEXT}{TEXT})?{COM_OUT} /* regexp sans macros */ SANS_MACRO = "" %% {COMMENT} { ECHO("COM"); } {SANS_MACRO} { ECHO("COM_BIS"); } \R { ECHO(); } [^] { ECHO(); }