<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<head>
<style>.content {
  padding: 20px;
  height: 100%;
  width: 944px;
  margin-left: auto;
  margin-right: auto;
}
.fold {
  width: 20px;
  float: left;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.number {
  width: 45px;
  float: left;
  margin-right: 10px;
  text-align: right;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.line {
}
.content {
  font-family: "Monospace";
  font-size: 1em;
  background: #3f3f3f;
  color: White;
  width: 944px;
  padding: 20px;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
}
font.Alert {
	color: Yellow;
	font-weight: bold;
}
font.Annotation {
   color: Yellow;
	font-style: italic;
}
font.Attribute {
   color: LightPink;
}
font.BaseN {
   color: Gold;
}
font.BuiltIn {
   color: Coral;
}
font.Char {
   color: Cyan;
}
font.Comment {
   color: Beige;
	font-style: italic;
}
font.CommentVar {
   color: LightBlue;
	font-style: italic;
}
font.Constant {
   color: White;
	font-weight: bold;
}
font.ControlFlow {
   color: DeepPink;
}
font.DataType {
   color: CadetBlue;
}
font.DecVal {
   color: MediumPurple;
	font-weight: bold;
}
font.Documentation {
   color: Gold;
	font-style: italic;
}
font.Error {
   color: Red;
	font-weight: bold;
}
font.Extension {
   color: DarkGray;
	font-weight: bold;
}
font.Float {
   color: DarkViolet;
	font-weight: bold;
}
font.Function {
   color: RosyBrown;
}
font.Import {
   color: PaleVioletRed;
}
font.Information {
   color: LightGreen;
	font-style: italic;
}
font.Keyword {
   color: LightGreen;
	font-weight: bold;
}
font.Normal {
   color: White;
}
font.Operator {
   color: Magenta;
}
font.Others {
   color: GreenYellow;
}
font.Preprocessor {
   color: DarkSeaGreen ;
	font-weight: bold;
}
font.RegionMarker {
   color: Plum;
}
font.SpecialChar {
   color: Plum;
	font-weight: bold;
}
font.SpecialString {
   color: LightBlue;
}
font.String {
   color: MediumAquaMarine;
}
font.Variable {
   color: Turquoise;
	font-weight: bold;
}
font.VerbatimString {
   color: LightSkyBlue;
}
font.Warning {
   color: Brown;
	font-weight: bold;
}

</style>
<title>Kamelon output</title>
</head>
<body>

<div class="content">
<div id="1" class="line"><font class="Comment">/*&nbsp;This&nbsp;test&nbsp;file&nbsp;tests&nbsp;kates&nbsp;Lex/Flex&nbsp;highlighting&nbsp;*/</font></br></div>
<div id="2" class="line"></br></div>
<div id="3" class="line"><font class="Keyword">%option&nbsp;c++</font></br></div>
<div id="4" class="line"><font class="Keyword">%option&nbsp;yyclass=&quot;KateTester&quot;</font></br></div>
<div id="5" class="line"><font class="Keyword">%option&nbsp;yylineno</font></br></div>
<div id="6" class="line"></br></div>
<div id="7" class="line"><font class="Normal">&nbsp;</font><font class="Comment">/*&nbsp;This&nbsp;is&nbsp;a&nbsp;C(++)&nbsp;comment&nbsp;*/</font></br></div>
<div id="8" class="line"></br></div>
<div id="9" class="line"><font class="Comment">/*&nbsp;This&nbsp;one&nbsp;is&nbsp;a&nbsp;lex&nbsp;comment&nbsp;!&nbsp;*/</font></br></div>
<div id="10" class="line"></br></div>
<div id="11" class="line"><font class="BaseN">%{</font></br></div>
<div id="12" class="line"><font class="Preprocessor">#include&nbsp;</font><font class="Import">&lt;iostream&gt;</font></br></div>
<div id="13" class="line"><font class="Preprocessor">#include&nbsp;</font><font class="Import">&quot;realparser.hpp&quot;</font></br></div>
<div id="14" class="line"><font class="Keyword">using</font><font class="Normal">&nbsp;</font><font class="Keyword">namespace</font><font class="Normal">&nbsp;std;</font></br></div>
<div id="15" class="line"><font class="BaseN">%}</font></br></div>
<div id="16" class="line"></br></div>
<div id="17" class="line"><font class="Comment">/*&nbsp;Some&nbsp;definitions&nbsp;*/</font></br></div>
<div id="18" class="line"><font class="DataType">DIGIT&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="String">[0-9]</font></br></div>
<div id="19" class="line"><font class="DataType">LETTER&nbsp;&nbsp;&nbsp;</font><font class="String">[_a-zA-Z]</font></br></div>
<div id="20" class="line"></br></div>
<div id="21" class="line"><font class="BaseN">%%</font></br></div>
<div id="22" class="line"></br></div>
<div id="23" class="line"><font class="Normal">&nbsp;</font><font class="Comment">/*&nbsp;Comment&nbsp;*shall&nbsp;be&nbsp;indented&nbsp;here*&nbsp;*/</font></br></div>
<div id="24" class="line"><font class="String">[&nbsp;</font><font class="SpecialString">\t\n\r</font><font class="String">]+</font><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></br></div>
<div id="25" class="line"></br></div>
<div id="26" class="line"><font class="Normal">&nbsp;</font><font class="Comment">/*&nbsp;Note:&nbsp;there&nbsp;is&nbsp;a&nbsp;bad&nbsp;}&nbsp;just&nbsp;here&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vvv&nbsp;*/</font></br></div>
<div id="27" class="line"><font class="SpecialString">\/\*</font><font class="String">([^</font><font class="SpecialString">\*</font><font class="String">]|</font><font class="SpecialString">\*</font><font class="String">[^/])*</font><font class="SpecialString">\*\/</font><font class="Normal">&nbsp;{&nbsp;foo(a,&nbsp;b,&nbsp;c);&nbsp;}&nbsp;</font><font class="Alert">}</font></br></div>
<div id="28" class="line"></br></div>
<div id="29" class="line"><font class="Normal">&nbsp;</font><font class="Comment">/*&nbsp;A&nbsp;start&nbsp;condition&nbsp;scope...&nbsp;*/</font></br></div>
<div id="30" class="line"><font class="String">&lt;ESC&gt;</font><font class="BaseN">{</font></br></div>
<div id="31" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="String">&quot;a&quot;</font><font class="Normal">&nbsp;{</font></br></div>
<div id="32" class="line"><font class="Normal">&nbsp;&nbsp;</font></br></div>
<div id="33" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Comment">/*&nbsp;C&nbsp;mode&nbsp;!&nbsp;*/</font></br></div>
<div id="34" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="ControlFlow">return</font><font class="Normal">&nbsp;</font><font class="Float">0</font><font class="Normal">;</font></br></div>
<div id="35" class="line"><font class="Normal">}</font></br></div>
<div id="36" class="line"></br></div>
<div id="37" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="String">&quot;b&quot;</font><font class="Normal">&nbsp;</font><font class="BaseN">%{</font></br></div>
<div id="38" class="line"><font class="Normal">&nbsp;&nbsp;</font></br></div>
<div id="39" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Comment">/*&nbsp;C&nbsp;mode,&nbsp;too&nbsp;!&nbsp;*/</font></br></div>
<div id="40" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="ControlFlow">return</font><font class="Normal">&nbsp;</font><font class="Float">0</font><font class="Normal">;</font></br></div>
<div id="41" class="line"><font class="BaseN">%}</font></br></div>
<div id="42" class="line"><font class="Normal">&nbsp;&nbsp;</font></br></div>
<div id="43" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="String">&quot;c&quot;</font><font class="Normal">&nbsp;</font><font class="ControlFlow">return</font><font class="Normal">&nbsp;</font><font class="Float">0</font><font class="Normal">;&nbsp;</font><font class="Comment">//&nbsp;C++&nbsp;comment</font></br></div>
<div id="44" class="line"><font class="BaseN">}</font></br></div>
<div id="45" class="line"></br></div>
<div id="46" class="line"><font class="Normal">&nbsp;</font><font class="Comment">/*&nbsp;Big&nbsp;rule&nbsp;*/</font></br></div>
<div id="47" class="line"><font class="SpecialString">\&quot;</font><font class="String">([^&quot;</font><font class="SpecialString">\\</font><font class="String">]|</font><font class="SpecialString">\\</font><font class="String">.)*</font><font class="SpecialString">\&quot;</font><font class="Normal">&nbsp;{</font></br></div>
<div id="48" class="line"></br></div>
<div id="49" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;yylval.strin</font><font class="Variable">g_val</font><font class="Normal">&nbsp;=&nbsp;</font><font class="Keyword">new</font><font class="Normal">&nbsp;</font><font class="DataType">char</font><font class="Normal">[strlen(yytext)&nbsp;+&nbsp;</font><font class="Float">1</font><font class="Normal">];</font></br></div>
<div id="50" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;</font><font class="DataType">int</font><font class="Normal">&nbsp;j&nbsp;=&nbsp;</font><font class="Float">0</font><font class="Normal">,&nbsp;i&nbsp;=&nbsp;</font><font class="Float">1</font><font class="Normal">;</font></br></div>
<div id="51" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;</font></br></div>
<div id="52" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;</font><font class="ControlFlow">while</font><font class="Normal">&nbsp;(yytext[i]&nbsp;!=&nbsp;</font><font class="Char">'&quot;'</font><font class="Normal">)</font></br></div>
<div id="53" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="ControlFlow">if</font><font class="Normal">&nbsp;(yytext[i]&nbsp;!=&nbsp;</font><font class="Char">'</font><font class="SpecialChar">\\</font><font class="Char">'</font><font class="Normal">)</font></br></div>
<div id="54" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;yylval.strin</font><font class="Variable">g_val</font><font class="Normal">[j++]&nbsp;=&nbsp;yytext[i++];</font></br></div>
<div id="55" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="ControlFlow">else</font></br></div>
<div id="56" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="ControlFlow">switch</font><font class="Normal">&nbsp;(yytext[i&nbsp;+&nbsp;</font><font class="Float">1</font><font class="Normal">])</font></br></div>
<div id="57" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</font></br></div>
<div id="58" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="ControlFlow">case</font><font class="Normal">&nbsp;</font><font class="Char">'n'</font><font class="Normal">:</font></br></div>
<div id="59" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;yylval.strin</font><font class="Variable">g_val</font><font class="Normal">[j++]&nbsp;=&nbsp;</font><font class="Char">'</font><font class="SpecialChar">\n</font><font class="Char">'</font><font class="Normal">;&nbsp;i&nbsp;+=&nbsp;</font><font class="Float">2</font><font class="Normal">;</font></br></div>
<div id="60" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="ControlFlow">break</font><font class="Normal">;</font></br></div>
<div id="61" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="ControlFlow">default</font><font class="Normal">:</font></br></div>
<div id="62" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;yylval.strin</font><font class="Variable">g_val</font><font class="Normal">[j++]&nbsp;&lt;&lt;&nbsp;yytext[i&nbsp;+&nbsp;</font><font class="Float">1</font><font class="Normal">],&nbsp;i&nbsp;+=&nbsp;</font><font class="Float">2</font><font class="Normal">;</font></br></div>
<div id="63" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</font></br></div>
<div id="64" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font></br></div>
<div id="65" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;yylval.strin</font><font class="Variable">g_val</font><font class="Normal">[j]&nbsp;=&nbsp;</font><font class="Float">0</font><font class="Normal">;&nbsp;&nbsp;&nbsp;</font></br></div>
<div id="66" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="ControlFlow">return</font><font class="Normal">&nbsp;TOK_STRING;</font></br></div>
<div id="67" class="line"></br></div>
<div id="68" class="line"><font class="Normal">}</font></br></div>
<div id="69" class="line"></br></div>
<div id="70" class="line"><font class="Normal">&nbsp;</font><font class="Comment">/*&nbsp;Dot&nbsp;(match&nbsp;all)&nbsp;*/</font></br></div>
<div id="71" class="line"><font class="String">.</font><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</font><font class="ControlFlow">return</font><font class="Normal">&nbsp;yylval.int</font><font class="Constant">_val</font><font class="Normal">&nbsp;=&nbsp;yytext[</font><font class="DecVal">0</font><font class="Normal">];}</font></br></div>
<div id="72" class="line"></br></div>
<div id="73" class="line"><font class="BaseN">%%</font></br></div>
<div id="74" class="line"></br></div>
<div id="75" class="line"><font class="Comment">//&nbsp;Here&nbsp;is&nbsp;pure&nbsp;C(++)</font></br></div>
<div id="76" class="line"><font class="Preprocessor">#include&nbsp;</font><font class="Import">&lt;iostream&gt;</font></br></div>
<div id="77" class="line"></br></div>
<div id="78" class="line"><font class="DataType">int</font><font class="Normal">&nbsp;main(</font><font class="DataType">void</font><font class="Normal">)</font></br></div>
<div id="79" class="line"><font class="Normal">{</font></br></div>
<div id="80" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="BuiltIn">std::cout</font><font class="Normal">&nbsp;&lt;&lt;&nbsp;</font><font class="String">&quot;Hello,&nbsp;World</font><font class="SpecialChar">\n</font><font class="String">&quot;</font><font class="Normal">;</font></br></div>
<div id="81" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="ControlFlow">return</font><font class="Normal">&nbsp;</font><font class="Float">0</font><font class="Normal">;</font></br></div>
<div id="82" class="line"><font class="Normal">}</font></br></div>
</div>
</body>
</html>