Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > c8ca5ed2186d6838eb8781ac723b0f06 > files > 621

ghc-highlighting-kate-devel-0.2.9-2.fc15.i686.rpm

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
<title>Text/Highlighting/Kate/Syntax/Ilerpg.hs</title>
<link type='text/css' rel='stylesheet' href='hscolour.css' />
</head>
<body>
<pre><a name="line-1"></a><span class='hs-comment'>{- This module was generated from data in the Kate syntax highlighting file ilerpg.xml, version 1.05,
<a name="line-2"></a>   by   -}</span>
<a name="line-3"></a>
<a name="line-4"></a><span class='hs-keyword'>module</span> <span class='hs-conid'>Text</span><span class='hs-varop'>.</span><span class='hs-conid'>Highlighting</span><span class='hs-varop'>.</span><span class='hs-conid'>Kate</span><span class='hs-varop'>.</span><span class='hs-conid'>Syntax</span><span class='hs-varop'>.</span><span class='hs-conid'>Ilerpg</span> <span class='hs-layout'>(</span> <span class='hs-varid'>highlight</span><span class='hs-layout'>,</span> <span class='hs-varid'>parseExpression</span><span class='hs-layout'>,</span> <span class='hs-varid'>syntaxName</span><span class='hs-layout'>,</span> <span class='hs-varid'>syntaxExtensions</span> <span class='hs-layout'>)</span> <span class='hs-keyword'>where</span>
<a name="line-5"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Text</span><span class='hs-varop'>.</span><span class='hs-conid'>Highlighting</span><span class='hs-varop'>.</span><span class='hs-conid'>Kate</span><span class='hs-varop'>.</span><span class='hs-conid'>Definitions</span>
<a name="line-6"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Text</span><span class='hs-varop'>.</span><span class='hs-conid'>Highlighting</span><span class='hs-varop'>.</span><span class='hs-conid'>Kate</span><span class='hs-varop'>.</span><span class='hs-conid'>Common</span>
<a name="line-7"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Text</span><span class='hs-varop'>.</span><span class='hs-conid'>ParserCombinators</span><span class='hs-varop'>.</span><span class='hs-conid'>Parsec</span>
<a name="line-8"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Control</span><span class='hs-varop'>.</span><span class='hs-conid'>Monad</span> <span class='hs-layout'>(</span><span class='hs-varid'>when</span><span class='hs-layout'>)</span>
<a name="line-9"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>Map</span> <span class='hs-layout'>(</span><span class='hs-varid'>fromList</span><span class='hs-layout'>)</span>
<a name="line-10"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>Maybe</span> <span class='hs-layout'>(</span><span class='hs-varid'>fromMaybe</span><span class='hs-layout'>,</span> <span class='hs-varid'>maybeToList</span><span class='hs-layout'>)</span>
<a name="line-11"></a>
<a name="line-12"></a><span class='hs-keyword'>import</span> <span class='hs-keyword'>qualified</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>Set</span> <span class='hs-keyword'>as</span> <span class='hs-conid'>Set</span>
<a name="line-13"></a><a name="syntaxName"></a><span class='hs-comment'>-- | Full name of language.</span>
<a name="line-14"></a><span class='hs-definition'>syntaxName</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span>
<a name="line-15"></a><span class='hs-definition'>syntaxName</span> <span class='hs-keyglyph'>=</span> <span class='hs-str'>"ILERPG"</span>
<a name="line-16"></a>
<a name="line-17"></a><a name="syntaxExtensions"></a><span class='hs-comment'>-- | Filename extensions for this language.</span>
<a name="line-18"></a><span class='hs-definition'>syntaxExtensions</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span>
<a name="line-19"></a><span class='hs-definition'>syntaxExtensions</span> <span class='hs-keyglyph'>=</span> <span class='hs-str'>"QRPG*.*;qrpg*.*"</span>
<a name="line-20"></a>
<a name="line-21"></a><a name="highlight"></a><span class='hs-comment'>-- | Highlight source code using this syntax definition.</span>
<a name="line-22"></a><span class='hs-definition'>highlight</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Either</span> <span class='hs-conid'>String</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>SourceLine</span><span class='hs-keyglyph'>]</span>
<a name="line-23"></a><span class='hs-definition'>highlight</span> <span class='hs-varid'>input</span> <span class='hs-keyglyph'>=</span>
<a name="line-24"></a>  <span class='hs-keyword'>case</span> <span class='hs-varid'>runParser</span> <span class='hs-varid'>parseSource</span> <span class='hs-varid'>startingState</span> <span class='hs-str'>"source"</span> <span class='hs-varid'>input</span> <span class='hs-keyword'>of</span>
<a name="line-25"></a>    <span class='hs-conid'>Left</span> <span class='hs-varid'>err</span>     <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Left</span> <span class='hs-varop'>$</span> <span class='hs-varid'>show</span> <span class='hs-varid'>err</span>
<a name="line-26"></a>    <span class='hs-conid'>Right</span> <span class='hs-varid'>result</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Right</span> <span class='hs-varid'>result</span>
<a name="line-27"></a>
<a name="line-28"></a><a name="parseExpression"></a><span class='hs-comment'>-- | Parse an expression using appropriate local context.</span>
<a name="line-29"></a><span class='hs-definition'>parseExpression</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>GenParser</span> <span class='hs-conid'>Char</span> <span class='hs-conid'>SyntaxState</span> <span class='hs-conid'>LabeledSource</span>
<a name="line-30"></a><span class='hs-definition'>parseExpression</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-31"></a>  <span class='hs-varid'>st</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>getState</span>
<a name="line-32"></a>  <span class='hs-keyword'>let</span> <span class='hs-varid'>oldLang</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>synStLanguage</span> <span class='hs-varid'>st</span>
<a name="line-33"></a>  <span class='hs-varid'>setState</span> <span class='hs-varop'>$</span> <span class='hs-varid'>st</span> <span class='hs-layout'>{</span> <span class='hs-varid'>synStLanguage</span> <span class='hs-keyglyph'>=</span> <span class='hs-str'>"ILERPG"</span> <span class='hs-layout'>}</span>
<a name="line-34"></a>  <span class='hs-varid'>context</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>currentContext</span> <span class='hs-varop'>&lt;|&gt;</span> <span class='hs-layout'>(</span><span class='hs-varid'>pushContext</span> <span class='hs-str'>"Default"</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>currentContext</span><span class='hs-layout'>)</span>
<a name="line-35"></a>  <span class='hs-varid'>result</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>parseRules</span> <span class='hs-varid'>context</span>
<a name="line-36"></a>  <span class='hs-varid'>updateState</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>st</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>st</span> <span class='hs-layout'>{</span> <span class='hs-varid'>synStLanguage</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>oldLang</span> <span class='hs-layout'>}</span>
<a name="line-37"></a>  <span class='hs-varid'>return</span> <span class='hs-varid'>result</span>
<a name="line-38"></a>
<a name="line-39"></a><a name="parseSource"></a><span class='hs-definition'>parseSource</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span> 
<a name="line-40"></a>  <span class='hs-varid'>lineContents</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>lookAhead</span> <span class='hs-varid'>wholeLine</span>
<a name="line-41"></a>  <span class='hs-varid'>updateState</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>st</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>st</span> <span class='hs-layout'>{</span> <span class='hs-varid'>synStCurrentLine</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>lineContents</span> <span class='hs-layout'>}</span>
<a name="line-42"></a>  <span class='hs-varid'>result</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>manyTill</span> <span class='hs-varid'>parseSourceLine</span> <span class='hs-varid'>eof</span>
<a name="line-43"></a>  <span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-varid'>map</span> <span class='hs-varid'>normalizeHighlighting</span> <span class='hs-varid'>result</span>
<a name="line-44"></a>
<a name="line-45"></a><a name="startingState"></a><span class='hs-definition'>startingState</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>SyntaxState</span> <span class='hs-layout'>{</span><span class='hs-varid'>synStContexts</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>fromList</span> <span class='hs-keyglyph'>[</span><span class='hs-layout'>(</span><span class='hs-str'>"ILERPG"</span><span class='hs-layout'>,</span><span class='hs-keyglyph'>[</span><span class='hs-str'>"Default"</span><span class='hs-keyglyph'>]</span><span class='hs-layout'>)</span><span class='hs-keyglyph'>]</span><span class='hs-layout'>,</span> <span class='hs-varid'>synStLanguage</span> <span class='hs-keyglyph'>=</span> <span class='hs-str'>"ILERPG"</span><span class='hs-layout'>,</span> <span class='hs-varid'>synStCurrentLine</span> <span class='hs-keyglyph'>=</span> <span class='hs-str'>""</span><span class='hs-layout'>,</span> <span class='hs-varid'>synStCharsParsedInLine</span> <span class='hs-keyglyph'>=</span> <span class='hs-num'>0</span><span class='hs-layout'>,</span> <span class='hs-varid'>synStPrevChar</span> <span class='hs-keyglyph'>=</span> <span class='hs-chr'>'\n'</span><span class='hs-layout'>,</span> <span class='hs-varid'>synStCaseSensitive</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>False</span><span class='hs-layout'>,</span> <span class='hs-varid'>synStKeywordCaseSensitive</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>False</span><span class='hs-layout'>,</span> <span class='hs-varid'>synStCaptures</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>[]</span><span class='hs-layout'>}</span>
<a name="line-46"></a>
<a name="line-47"></a><a name="parseSourceLine"></a><span class='hs-definition'>parseSourceLine</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>manyTill</span> <span class='hs-varid'>parseExpressionInternal</span> <span class='hs-varid'>pEndLine</span>
<a name="line-48"></a>
<a name="line-49"></a><a name="pEndLine"></a><span class='hs-definition'>pEndLine</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-50"></a>  <span class='hs-varid'>lookAhead</span> <span class='hs-varop'>$</span> <span class='hs-varid'>newline</span> <span class='hs-varop'>&lt;|&gt;</span> <span class='hs-layout'>(</span><span class='hs-varid'>eof</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>return</span> <span class='hs-chr'>'\n'</span><span class='hs-layout'>)</span>
<a name="line-51"></a>  <span class='hs-varid'>context</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>currentContext</span>
<a name="line-52"></a>  <span class='hs-keyword'>case</span> <span class='hs-varid'>context</span> <span class='hs-keyword'>of</span>
<a name="line-53"></a>    <span class='hs-str'>"Default"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>return</span> <span class='hs-conid'>()</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pHandleEndLine</span>
<a name="line-54"></a>    <span class='hs-str'>"CControlLevel"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-varid'>popContext</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pEndLine</span>
<a name="line-55"></a>    <span class='hs-str'>"CIndicators"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-varid'>popContext</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>popContext</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pEndLine</span>
<a name="line-56"></a>    <span class='hs-str'>"CFactor1"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-varid'>popContext</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>popContext</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>popContext</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pEndLine</span>
<a name="line-57"></a>    <span class='hs-str'>"FindOC"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-varid'>popContext</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>popContext</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>popContext</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>popContext</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pEndLine</span>
<a name="line-58"></a>    <span class='hs-str'>"NonEvalOC2"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"Default"</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pHandleEndLine</span>
<a name="line-59"></a>    <span class='hs-str'>"NonEvalOC3"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"Default"</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pHandleEndLine</span>
<a name="line-60"></a>    <span class='hs-str'>"NonEvalOC4"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"Default"</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pHandleEndLine</span>
<a name="line-61"></a>    <span class='hs-str'>"NonEvalOC5"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"Default"</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pHandleEndLine</span>
<a name="line-62"></a>    <span class='hs-str'>"NonEvalOC6"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"Default"</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pHandleEndLine</span>
<a name="line-63"></a>    <span class='hs-str'>"NonEvalOC7"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"Default"</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pHandleEndLine</span>
<a name="line-64"></a>    <span class='hs-str'>"CFactor2"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"Default"</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pHandleEndLine</span>
<a name="line-65"></a>    <span class='hs-str'>"EvalOC2"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"Default"</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pHandleEndLine</span>
<a name="line-66"></a>    <span class='hs-str'>"EvalOC3"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"Default"</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pHandleEndLine</span>
<a name="line-67"></a>    <span class='hs-str'>"EvalOC4"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"Default"</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pHandleEndLine</span>
<a name="line-68"></a>    <span class='hs-str'>"EvalOC5"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"Default"</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pHandleEndLine</span>
<a name="line-69"></a>    <span class='hs-str'>"EvalOC6"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"Default"</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pHandleEndLine</span>
<a name="line-70"></a>    <span class='hs-str'>"EvalOC8"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"Default"</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pHandleEndLine</span>
<a name="line-71"></a>    <span class='hs-str'>"CExFactor2"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"Default"</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pHandleEndLine</span>
<a name="line-72"></a>    <span class='hs-str'>"EvalOCCont"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>return</span> <span class='hs-conid'>()</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pHandleEndLine</span>
<a name="line-73"></a>    <span class='hs-str'>"Comments"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-varid'>popContext</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pEndLine</span>
<a name="line-74"></a>    <span class='hs-str'>"StringConstants"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-varid'>popContext</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pEndLine</span>
<a name="line-75"></a>    <span class='hs-str'>"Directives"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"Default"</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pHandleEndLine</span>
<a name="line-76"></a>    <span class='hs-str'>"Directives2"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"Default"</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pHandleEndLine</span>
<a name="line-77"></a>    <span class='hs-str'>"Directives3"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"Default"</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pHandleEndLine</span>
<a name="line-78"></a>    <span class='hs-str'>"Free"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>return</span> <span class='hs-conid'>()</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pHandleEndLine</span>
<a name="line-79"></a>    <span class='hs-str'>"Exec"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>return</span> <span class='hs-conid'>()</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pHandleEndLine</span>
<a name="line-80"></a>    <span class='hs-str'>"Biffs"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-varid'>popContext</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pEndLine</span>
<a name="line-81"></a>    <span class='hs-str'>"CommonCode"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>return</span> <span class='hs-conid'>()</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pHandleEndLine</span>
<a name="line-82"></a>    <span class='hs-str'>"Indicators"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>return</span> <span class='hs-conid'>()</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pHandleEndLine</span>
<a name="line-83"></a>    <span class='hs-str'>"ReservedWords"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>return</span> <span class='hs-conid'>()</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pHandleEndLine</span>
<a name="line-84"></a>    <span class='hs-str'>"AnyCode"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-varid'>popContext</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pEndLine</span>
<a name="line-85"></a>    <span class='hs-str'>"D"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-varid'>popContext</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pEndLine</span>
<a name="line-86"></a>    <span class='hs-str'>"P"</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-varid'>popContext</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>pEndLine</span>
<a name="line-87"></a>    <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>pHandleEndLine</span>
<a name="line-88"></a>
<a name="line-89"></a><a name="withAttribute"></a><span class='hs-definition'>withAttribute</span> <span class='hs-varid'>attr</span> <span class='hs-varid'>txt</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-90"></a>  <span class='hs-varid'>when</span> <span class='hs-layout'>(</span><span class='hs-varid'>null</span> <span class='hs-varid'>txt</span><span class='hs-layout'>)</span> <span class='hs-varop'>$</span> <span class='hs-varid'>fail</span> <span class='hs-str'>"Parser matched no text"</span>
<a name="line-91"></a>  <span class='hs-keyword'>let</span> <span class='hs-varid'>labs</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>attr</span> <span class='hs-conop'>:</span> <span class='hs-varid'>maybeToList</span> <span class='hs-layout'>(</span><span class='hs-varid'>lookup</span> <span class='hs-varid'>attr</span> <span class='hs-varid'>styles</span><span class='hs-layout'>)</span>
<a name="line-92"></a>  <span class='hs-varid'>st</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>getState</span>
<a name="line-93"></a>  <span class='hs-keyword'>let</span> <span class='hs-varid'>oldCharsParsed</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>synStCharsParsedInLine</span> <span class='hs-varid'>st</span>
<a name="line-94"></a>  <span class='hs-keyword'>let</span> <span class='hs-varid'>prevchar</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>if</span> <span class='hs-varid'>null</span> <span class='hs-varid'>txt</span> <span class='hs-keyword'>then</span> <span class='hs-chr'>'\n'</span> <span class='hs-keyword'>else</span> <span class='hs-varid'>last</span> <span class='hs-varid'>txt</span>
<a name="line-95"></a>  <span class='hs-varid'>updateState</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>st</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>st</span> <span class='hs-layout'>{</span> <span class='hs-varid'>synStCharsParsedInLine</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>oldCharsParsed</span> <span class='hs-varop'>+</span> <span class='hs-varid'>length</span> <span class='hs-varid'>txt</span><span class='hs-layout'>,</span> <span class='hs-varid'>synStPrevChar</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>prevchar</span> <span class='hs-layout'>}</span> 
<a name="line-96"></a>  <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>labs</span><span class='hs-layout'>,</span> <span class='hs-varid'>txt</span><span class='hs-layout'>)</span>
<a name="line-97"></a>
<a name="line-98"></a><a name="styles"></a><span class='hs-definition'>styles</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyglyph'>[</span><span class='hs-layout'>(</span><span class='hs-str'>"Alert"</span><span class='hs-layout'>,</span><span class='hs-str'>"al"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"Keyword"</span><span class='hs-layout'>,</span><span class='hs-str'>"kw"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"Biff"</span><span class='hs-layout'>,</span><span class='hs-str'>"kw"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"RegExpr"</span><span class='hs-layout'>,</span><span class='hs-str'>"bn"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"Decimal"</span><span class='hs-layout'>,</span><span class='hs-str'>"dv"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"Float"</span><span class='hs-layout'>,</span><span class='hs-str'>"fl"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"Octal"</span><span class='hs-layout'>,</span><span class='hs-str'>"bn"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"Hex"</span><span class='hs-layout'>,</span><span class='hs-str'>"bn"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"Float"</span><span class='hs-layout'>,</span><span class='hs-str'>"fl"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"Base-N"</span><span class='hs-layout'>,</span><span class='hs-str'>"bn"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"Float"</span><span class='hs-layout'>,</span><span class='hs-str'>"fl"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"Char"</span><span class='hs-layout'>,</span><span class='hs-str'>"ch"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"Comment"</span><span class='hs-layout'>,</span><span class='hs-str'>"co"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"DivideComment"</span><span class='hs-layout'>,</span><span class='hs-str'>"co"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"Directive"</span><span class='hs-layout'>,</span><span class='hs-str'>"ot"</span><span class='hs-layout'>)</span><span class='hs-keyglyph'>]</span>
<a name="line-99"></a>
<a name="line-100"></a><a name="parseExpressionInternal"></a><span class='hs-definition'>parseExpressionInternal</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-101"></a>  <span class='hs-varid'>context</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>currentContext</span>
<a name="line-102"></a>  <span class='hs-varid'>parseRules</span> <span class='hs-varid'>context</span> <span class='hs-varop'>&lt;|&gt;</span> <span class='hs-layout'>(</span><span class='hs-varid'>pDefault</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-layout'>(</span><span class='hs-varid'>fromMaybe</span> <span class='hs-str'>""</span> <span class='hs-varop'>$</span> <span class='hs-varid'>lookup</span> <span class='hs-varid'>context</span> <span class='hs-varid'>defaultAttributes</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-103"></a>
<a name="line-104"></a><a name="list_dkeywords"></a><span class='hs-definition'>list_dkeywords</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Set</span><span class='hs-varop'>.</span><span class='hs-varid'>fromList</span> <span class='hs-varop'>$</span> <span class='hs-varid'>words</span> <span class='hs-varop'>$</span> <span class='hs-str'>"extproc extpgm opdesc datfmt dim likeds likerec like procptr timfmt varying ascend const noopt options value qualified inz based"</span>
<a name="line-105"></a><a name="list_pkeywords"></a><span class='hs-definition'>list_pkeywords</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Set</span><span class='hs-varop'>.</span><span class='hs-varid'>fromList</span> <span class='hs-varop'>$</span> <span class='hs-varid'>words</span> <span class='hs-varop'>$</span> <span class='hs-str'>"datfmt dim like likeds likerec procptr timfmt"</span>
<a name="line-106"></a><a name="list_directives"></a><span class='hs-definition'>list_directives</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Set</span><span class='hs-varop'>.</span><span class='hs-varid'>fromList</span> <span class='hs-varop'>$</span> <span class='hs-varid'>words</span> <span class='hs-varop'>$</span> <span class='hs-str'>"free end-free title eject space copy include define undefine if else exec end-exec elseif endif eof"</span>
<a name="line-107"></a><a name="list_directives2"></a><span class='hs-definition'>list_directives2</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Set</span><span class='hs-varop'>.</span><span class='hs-varid'>fromList</span> <span class='hs-varop'>$</span> <span class='hs-varid'>words</span> <span class='hs-varop'>$</span> <span class='hs-str'>"not defined"</span>
<a name="line-108"></a><a name="list_directives3"></a><span class='hs-definition'>list_directives3</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Set</span><span class='hs-varop'>.</span><span class='hs-varid'>fromList</span> <span class='hs-varop'>$</span> <span class='hs-varid'>words</span> <span class='hs-varop'>$</span> <span class='hs-str'>"defined"</span>
<a name="line-109"></a><a name="list_biffs"></a><span class='hs-definition'>list_biffs</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Set</span><span class='hs-varop'>.</span><span class='hs-varid'>fromList</span> <span class='hs-varop'>$</span> <span class='hs-varid'>words</span> <span class='hs-varop'>$</span> <span class='hs-str'>"abs addr alloc bitand bitnot bitor bitxor char check checkr date days dec dech decpos diff div editc editflt editw elem eof equal error fields float found graph hours int inth kds len lookup lookuplt lookuple lookupgt lookupge minutes months mseconds nullind occur open paddr parms realloc rem replace scan seconds shtdn size sqrt status str subarr subdt subst this time timestamp tlookup tlookuplt tlookuple tlookupgt tlookupge trim triml trimr ucs2 uns unsh xfoot xlate years"</span>
<a name="line-110"></a><a name="list_evalopcodes2"></a><span class='hs-definition'>list_evalopcodes2</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Set</span><span class='hs-varop'>.</span><span class='hs-varid'>fromList</span> <span class='hs-varop'>$</span> <span class='hs-varid'>words</span> <span class='hs-varop'>$</span> <span class='hs-str'>"if"</span>
<a name="line-111"></a><a name="list_evalopcodes3"></a><span class='hs-definition'>list_evalopcodes3</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Set</span><span class='hs-varop'>.</span><span class='hs-varid'>fromList</span> <span class='hs-varop'>$</span> <span class='hs-varid'>words</span> <span class='hs-varop'>$</span> <span class='hs-str'>"dow dou for"</span>
<a name="line-112"></a><a name="list_evalopcodes4"></a><span class='hs-definition'>list_evalopcodes4</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Set</span><span class='hs-varop'>.</span><span class='hs-varid'>fromList</span> <span class='hs-varop'>$</span> <span class='hs-varid'>words</span> <span class='hs-varop'>$</span> <span class='hs-str'>"when eval"</span>
<a name="line-113"></a><a name="list_evalopcodes5"></a><span class='hs-definition'>list_evalopcodes5</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Set</span><span class='hs-varop'>.</span><span class='hs-varid'>fromList</span> <span class='hs-varop'>$</span> <span class='hs-varid'>words</span> <span class='hs-varop'>$</span> <span class='hs-str'>"evalr"</span>
<a name="line-114"></a><a name="list_evalopcodes6"></a><span class='hs-definition'>list_evalopcodes6</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Set</span><span class='hs-varop'>.</span><span class='hs-varid'>fromList</span> <span class='hs-varop'>$</span> <span class='hs-varid'>words</span> <span class='hs-varop'>$</span> <span class='hs-str'>"return"</span>
<a name="line-115"></a><a name="list_evalopcodes8"></a><span class='hs-definition'>list_evalopcodes8</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Set</span><span class='hs-varop'>.</span><span class='hs-varid'>fromList</span> <span class='hs-varop'>$</span> <span class='hs-varid'>words</span> <span class='hs-varop'>$</span> <span class='hs-str'>"on-error"</span>
<a name="line-116"></a><a name="list_nonevalopcodes2"></a><span class='hs-definition'>list_nonevalopcodes2</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Set</span><span class='hs-varop'>.</span><span class='hs-varid'>fromList</span> <span class='hs-varop'>$</span> <span class='hs-varid'>words</span> <span class='hs-varop'>$</span> <span class='hs-str'>"do in or"</span>
<a name="line-117"></a><a name="list_nonevalopcodes3"></a><span class='hs-definition'>list_nonevalopcodes3</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Set</span><span class='hs-varop'>.</span><span class='hs-varid'>fromList</span> <span class='hs-varop'>$</span> <span class='hs-varid'>words</span> <span class='hs-varop'>$</span> <span class='hs-str'>"acq add and cab cas cat div dou end mvr out rel sub tag"</span>
<a name="line-118"></a><a name="list_nonevalopcodes4"></a><span class='hs-definition'>list_nonevalopcodes4</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Set</span><span class='hs-varop'>.</span><span class='hs-varid'>fromList</span> <span class='hs-varop'>$</span> <span class='hs-varid'>words</span> <span class='hs-varop'>$</span> <span class='hs-str'>"call comp dump else exsr feod goto ifgt iflt ifeq ifne ifge ifle iter kfld move mult next open orgt orlt oreq orne orge orle parm post read scan sqrt test time"</span>
<a name="line-119"></a><a name="list_nonevalopcodes5"></a><span class='hs-definition'>list_nonevalopcodes5</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Set</span><span class='hs-varop'>.</span><span class='hs-varid'>fromList</span> <span class='hs-varop'>$</span> <span class='hs-varid'>words</span> <span class='hs-varop'>$</span> <span class='hs-str'>"alloc andgt andlt andeq andne andge andle begsr biton cabgt cablt cabeq cabne cabge cable callb callp casgt caslt caseq casne casge casle chain check clear close check clear close dowgt dowlt doweq downe dowge dowle dougt doult doueq doune douge doule dsply endcs enddo endif endsl endsr exfmt force klist leave mhhzo mhlzo mlhzo mllzo movea movel occur other plist readc reade readp reset rolbk setgt setll seton shtdn sorta subst testb testn testz write xfoot xlate"</span>
<a name="line-120"></a><a name="list_nonevalopcodes6"></a><span class='hs-definition'>list_nonevalopcodes6</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Set</span><span class='hs-varop'>.</span><span class='hs-varid'>fromList</span> <span class='hs-varop'>$</span> <span class='hs-varid'>words</span> <span class='hs-varop'>$</span> <span class='hs-str'>"adddur bitoff checkr commit define delete except extrct lookup readpe return select setoff subdur unlock update whengt whenlt wheneq whennr whenge whenle"</span>
<a name="line-121"></a><a name="list_nonevalopcodes7"></a><span class='hs-definition'>list_nonevalopcodes7</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Set</span><span class='hs-varop'>.</span><span class='hs-varid'>fromList</span> <span class='hs-varop'>$</span> <span class='hs-varid'>words</span> <span class='hs-varop'>$</span> <span class='hs-str'>"dealloc realloc"</span>
<a name="line-122"></a><a name="list_freeopcodes"></a><span class='hs-definition'>list_freeopcodes</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Set</span><span class='hs-varop'>.</span><span class='hs-varid'>fromList</span> <span class='hs-varop'>$</span> <span class='hs-varid'>words</span> <span class='hs-varop'>$</span> <span class='hs-str'>"acq begsr callp chain clear close commit dealloc delete dou dow dsply dump else elseif enddo endfor endif endmon endsl endsr eval evalr except exfmt exsr feod for force if in iter leave leavesr monitor next on-error open other out post read readc reade readp readpe rel reset return rolbk select setgt setll sorta test unlock update when write"</span>
<a name="line-123"></a>
<a name="line-124"></a><a name="regex_'5bPpOoIiHhFfDdCc_'5d'3f'5c'2a"></a><span class='hs-definition'>regex_'5bPpOoIiHhFfDdCc_'5d'3f'5c'2a</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"[PpOoIiHhFfDdCc ]?\\*"</span>
<a name="line-125"></a><a name="regex_'5bPpOoIiHhFfDdCc_'5d'3f'2f"></a><span class='hs-definition'>regex_'5bPpOoIiHhFfDdCc_'5d'3f'2f</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"[PpOoIiHhFfDdCc ]?/"</span>
<a name="line-126"></a><a name="regex_'5c_'7b2'7d"></a><span class='hs-definition'>regex_'5c_'7b2'7d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\ {2}"</span>
<a name="line-127"></a><a name="regex_'5bL'7cl'5d'5b0'2d9'5d"></a><span class='hs-definition'>regex_'5bL'7cl'5d'5b0'2d9'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"[L|l][0-9]"</span>
<a name="line-128"></a><a name="regex_'5bO'7co'7cL'7cl'7cS'7cs'5d'5bR'7cr'5d"></a><span class='hs-definition'>regex_'5bO'7co'7cL'7cl'7cS'7cs'5d'5bR'7cr'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"[O|o|L|l|S|s][R|r]"</span>
<a name="line-129"></a><a name="regex_'5bA'7ca'5d'5bN'7cn'5d"></a><span class='hs-definition'>regex_'5bA'7ca'5d'5bN'7cn'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"[A|a][N|n]"</span>
<a name="line-130"></a><a name="regex_'5bL'7cl'7cS'7cs'5d'5bR'7cr'5d"></a><span class='hs-definition'>regex_'5bL'7cl'7cS'7cs'5d'5bR'7cr'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"[L|l|S|s][R|r]"</span>
<a name="line-131"></a><a name="regex_'2e'7b2'7d"></a><span class='hs-definition'>regex_'2e'7b2'7d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>".{2}"</span>
<a name="line-132"></a><a name="regex_'5c_'7b3'7d"></a><span class='hs-definition'>regex_'5c_'7b3'7d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\ {3}"</span>
<a name="line-133"></a><a name="regex_'5b'5c_'7cN'7cn'5d'5b0'2d9'5d'7b2'7d"></a><span class='hs-definition'>regex_'5b'5c_'7cN'7cn'5d'5b0'2d9'5d'7b2'7d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"[\\ |N|n][0-9]{2}"</span>
<a name="line-134"></a><a name="regex_'5b'5c_'7cN'7cn'5d'5bK'7ck'5d'5bA'2dN'7cp'2dy'5d"></a><span class='hs-definition'>regex_'5b'5c_'7cN'7cn'5d'5bK'7ck'5d'5bA'2dN'7cp'2dy'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"[\\ |N|n][K|k][A-N|p-y]"</span>
<a name="line-135"></a><a name="regex_'5b'5c_'7cN'7cn'5d'5bK'7ck'5d'5bP'2dY'7cp'2dy'5d'7d"></a><span class='hs-definition'>regex_'5b'5c_'7cN'7cn'5d'5bK'7ck'5d'5bP'2dY'7cp'2dy'5d'7d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"[\\ |N|n][K|k][P-Y|p-y]}"</span>
<a name="line-136"></a><a name="regex_'5b'5c_'7cN'7cn'5d'5bL'7cl'5d'5b1'2d9'5d"></a><span class='hs-definition'>regex_'5b'5c_'7cN'7cn'5d'5bL'7cl'5d'5b1'2d9'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"[\\ |N|n][L|l][1-9]"</span>
<a name="line-137"></a><a name="regex_'5b'5c_'7cN'7cn'5d'5bL'7cl'7cM'7cm'5d'5bR'7cr'5d"></a><span class='hs-definition'>regex_'5b'5c_'7cN'7cn'5d'5bL'7cl'7cM'7cm'5d'5bR'7cr'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"[\\ |N|n][L|l|M|m][R|r]"</span>
<a name="line-138"></a><a name="regex_'5b'5c_'7cN'7cn'5d'5bR'7cr'5d'5bT'7ct'5d"></a><span class='hs-definition'>regex_'5b'5c_'7cN'7cn'5d'5bR'7cr'5d'5bT'7ct'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"[\\ |N|n][R|r][T|t]"</span>
<a name="line-139"></a><a name="regex_'5b'5c_'7cN'7cn'5d'5bU'7cu'5d'5b1'2d8'5d"></a><span class='hs-definition'>regex_'5b'5c_'7cN'7cn'5d'5bU'7cu'5d'5b1'2d8'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"[\\ |N|n][U|u][1-8]"</span>
<a name="line-140"></a><a name="regex_'5b'5c_'7cN'7cn'5d'5bO'7co'5d'5bA'2dG'7ca'2dg'5d"></a><span class='hs-definition'>regex_'5b'5c_'7cN'7cn'5d'5bO'7co'5d'5bA'2dG'7ca'2dg'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"[\\ |N|n][O|o][A-G|a-g]"</span>
<a name="line-141"></a><a name="regex_'5b'5c_'7cN'7cn'5d'5bO'7co'5d'5bV'7cv'5d"></a><span class='hs-definition'>regex_'5b'5c_'7cN'7cn'5d'5bO'7co'5d'5bV'7cv'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"[\\ |N|n][O|o][V|v]"</span>
<a name="line-142"></a><a name="regex_'5b'5c_'7cN'7cn'5d'5bH'7ch'5d'5b1'2d9'5d"></a><span class='hs-definition'>regex_'5b'5c_'7cN'7cn'5d'5bH'7ch'5d'5b1'2d9'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"[\\ |N|n][H|h][1-9]"</span>
<a name="line-143"></a><a name="regex_'2e'7b3'7d"></a><span class='hs-definition'>regex_'2e'7b3'7d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>".{3}"</span>
<a name="line-144"></a><a name="regex_'2e'7b14'7d"></a><span class='hs-definition'>regex_'2e'7b14'7d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>".{14}"</span>
<a name="line-145"></a><a name="regex_'5bZ'7cz'5d'2d'28'5bA'7ca'5d'5bD'7cd'5d'7b2'7d'7c'5bS'7cs'5d'5bU'7cu'5d'5bB'7cb'5d'29"></a><span class='hs-definition'>regex_'5bZ'7cz'5d'2d'28'5bA'7ca'5d'5bD'7cd'5d'7b2'7d'7c'5bS'7cs'5d'5bU'7cu'5d'5bB'7cb'5d'29</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"[Z|z]-([A|a][D|d]{2}|[S|s][U|u][B|b])"</span>
<a name="line-146"></a><a name="regex_'5bO'7co'5d'5bN'7cn'5d'2d'28'5bE'7ce'5d'5bR'7cr'5d'7b2'7d'7c'5bO'7co'5d'5bR'7cr'5d'29"></a><span class='hs-definition'>regex_'5bO'7co'5d'5bN'7cn'5d'2d'28'5bE'7ce'5d'5bR'7cr'5d'7b2'7d'7c'5bO'7co'5d'5bR'7cr'5d'29</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"[O|o][N|n]-([E|e][R|r]{2}|[O|o][R|r])"</span>
<a name="line-147"></a><a name="regex_'5c_'7b10'7d"></a><span class='hs-definition'>regex_'5c_'7b10'7d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\ {10}"</span>
<a name="line-148"></a><a name="regex_'2e'7b10'7d"></a><span class='hs-definition'>regex_'2e'7b10'7d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>".{10}"</span>
<a name="line-149"></a><a name="regex_'5c_'7b8'7d"></a><span class='hs-definition'>regex_'5c_'7b8'7d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\ {8}"</span>
<a name="line-150"></a><a name="regex_'5c_'7b7'7d"></a><span class='hs-definition'>regex_'5c_'7b7'7d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\ {7}"</span>
<a name="line-151"></a><a name="regex_'5c_'7b6'7d"></a><span class='hs-definition'>regex_'5c_'7b6'7d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\ {6}"</span>
<a name="line-152"></a><a name="regex_'5c_'7b5'7d"></a><span class='hs-definition'>regex_'5c_'7b5'7d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\ {5}"</span>
<a name="line-153"></a><a name="regex_'5c_'7b4'7d"></a><span class='hs-definition'>regex_'5c_'7b4'7d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\ {4}"</span>
<a name="line-154"></a><a name="regex_'5c'28'2a'28FIXME'7cTODO'29'5c'29'2a"></a><span class='hs-definition'>regex_'5c'28'2a'28FIXME'7cTODO'29'5c'29'2a</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\(*(FIXME|TODO)\\)*"</span>
<a name="line-155"></a><a name="regex_'5c'28'2a'28NOTE'3a'29'5c'29'2a"></a><span class='hs-definition'>regex_'5c'28'2a'28NOTE'3a'29'5c'29'2a</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\(*(NOTE:)\\)*"</span>
<a name="line-156"></a><a name="regex_'2d'7c'3d"></a><span class='hs-definition'>regex_'2d'7c'3d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"-|="</span>
<a name="line-157"></a><a name="regex_'5bF'7cf'5d'5bR'7cr'5d'5bE'7ce'5d'5bE'7ce'5d"></a><span class='hs-definition'>regex_'5bF'7cf'5d'5bR'7cr'5d'5bE'7ce'5d'5bE'7ce'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"[F|f][R|r][E|e][E|e]"</span>
<a name="line-158"></a><a name="regex_'5bE'7ce'5d'5bX'7cx'5d'5bE'7ce'5d'5bC'7cc'5d"></a><span class='hs-definition'>regex_'5bE'7ce'5d'5bX'7cx'5d'5bE'7ce'5d'5bC'7cc'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"[E|e][X|x][E|e][C|c]"</span>
<a name="line-159"></a><a name="regex_'5bPOIHFDC_'5d'3f'2f'5bE'7ce'5d'5bN'7cn'5d'5bD'7cd'5d'2d'5bF'7cf'5d'5bR'7cr'5d'5bE'7ce'5d'5bE'7ce'5d"></a><span class='hs-definition'>regex_'5bPOIHFDC_'5d'3f'2f'5bE'7ce'5d'5bN'7cn'5d'5bD'7cd'5d'2d'5bF'7cf'5d'5bR'7cr'5d'5bE'7ce'5d'5bE'7ce'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"[POIHFDC ]?/[E|e][N|n][D|d]-[F|f][R|r][E|e][E|e]"</span>
<a name="line-160"></a><a name="regex_'2f'2f"></a><span class='hs-definition'>regex_'2f'2f</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"//"</span>
<a name="line-161"></a><a name="regex_'5bPOIHFDC_'5d'3f'2f'5bE'7ce'5d'5bN'7cn'5d'5bD'7cd'5d'2d'5bE'7ce'5d'5bX'7cx'5d'5bE'7ce'5d'5bC'7cc'5d"></a><span class='hs-definition'>regex_'5bPOIHFDC_'5d'3f'2f'5bE'7ce'5d'5bN'7cn'5d'5bD'7cd'5d'2d'5bE'7ce'5d'5bX'7cx'5d'5bE'7ce'5d'5bC'7cc'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"[POIHFDC ]?/[E|e][N|n][D|d]-[E|e][X|x][E|e][C|c]"</span>
<a name="line-162"></a><a name="regex_'2e"></a><span class='hs-definition'>regex_'2e</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"."</span>
<a name="line-163"></a><a name="regex_'5bXx'5d'27'5b0'2d9a'2dfA'2dF'5d'7b2'2c'7d'27"></a><span class='hs-definition'>regex_'5bXx'5d'27'5b0'2d9a'2dfA'2dF'5d'7b2'2c'7d'27</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"[Xx]'[0-9a-fA-F]{2,}'"</span>
<a name="line-164"></a><a name="regex_'5c'2a'5bI'7ci'5d'5bN'7cn'5d'5c'28'3f'5b0'2d9'5d'5b0'2d9'5d'5c'29'3f"></a><span class='hs-definition'>regex_'5c'2a'5bI'7ci'5d'5bN'7cn'5d'5c'28'3f'5b0'2d9'5d'5b0'2d9'5d'5c'29'3f</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[I|i][N|n]\\(?[0-9][0-9]\\)?"</span>
<a name="line-165"></a><a name="regex_'5c'2a'5bI'7ci'5d'5bN'7cn'5d'5c'28'3f1'5bP'7cp'5d'5c'29'3f"></a><span class='hs-definition'>regex_'5c'2a'5bI'7ci'5d'5bN'7cn'5d'5c'28'3f1'5bP'7cp'5d'5c'29'3f</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[I|i][N|n]\\(?1[P|p]\\)?"</span>
<a name="line-166"></a><a name="regex_'5c'2a'5bI'7ci'5d'5bN'7cn'5d'5c'28'3f'5bH'7ch'7cL'7cl'5d'5b1'2d9'5d'5c'29'3f"></a><span class='hs-definition'>regex_'5c'2a'5bI'7ci'5d'5bN'7cn'5d'5c'28'3f'5bH'7ch'7cL'7cl'5d'5b1'2d9'5d'5c'29'3f</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[I|i][N|n]\\(?[H|h|L|l][1-9]\\)?"</span>
<a name="line-167"></a><a name="regex_'5c'2a'5bI'7ci'5d'5bN'7cn'5d'5c'28'3f'5bL'7cl'7cM'7cm'5d'5bR'7cr'5d'5c'29'3f"></a><span class='hs-definition'>regex_'5c'2a'5bI'7ci'5d'5bN'7cn'5d'5c'28'3f'5bL'7cl'7cM'7cm'5d'5bR'7cr'5d'5c'29'3f</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[I|i][N|n]\\(?[L|l|M|m][R|r]\\)?"</span>
<a name="line-168"></a><a name="regex_'5c'2a'5bI'7ci'5d'5bN'7cn'5d'5c'28'3f'5bO'7co'5d'5bA'2dG'7ca'2dg'7cV'7cv'5d'5c'29'3f"></a><span class='hs-definition'>regex_'5c'2a'5bI'7ci'5d'5bN'7cn'5d'5c'28'3f'5bO'7co'5d'5bA'2dG'7ca'2dg'7cV'7cv'5d'5c'29'3f</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[I|i][N|n]\\(?[O|o][A-G|a-g|V|v]\\)?"</span>
<a name="line-169"></a><a name="regex_'5c'2a'5bI'7ci'5d'5bN'7cn'5d'5c'28'3f'5bU'7cu'5d'5b1'2d8'5d'5c'29'3f"></a><span class='hs-definition'>regex_'5c'2a'5bI'7ci'5d'5bN'7cn'5d'5c'28'3f'5bU'7cu'5d'5b1'2d8'5d'5c'29'3f</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[I|i][N|n]\\(?[U|u][1-8]\\)?"</span>
<a name="line-170"></a><a name="regex_'5c'2a'5bI'7ci'5d'5bN'7cn'5d'5c'28'3f'5bK'7ck'5d'5bA'2dN'7ca'2dn'7cP'2dY'7cp'2dy'5d'5c'29'3f"></a><span class='hs-definition'>regex_'5c'2a'5bI'7ci'5d'5bN'7cn'5d'5c'28'3f'5bK'7ck'5d'5bA'2dN'7ca'2dn'7cP'2dY'7cp'2dy'5d'5c'29'3f</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[I|i][N|n]\\(?[K|k][A-N|a-n|P-Y|p-y]\\)?"</span>
<a name="line-171"></a><a name="regex_'5c'2a'5bI'7ci'5d'5bN'7cn'5d'5c'28'3f'5bR'7cr'5d'5bT'7ct'5d'5c'29'3f"></a><span class='hs-definition'>regex_'5c'2a'5bI'7ci'5d'5bN'7cn'5d'5c'28'3f'5bR'7cr'5d'5bT'7ct'5d'5c'29'3f</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[I|i][N|n]\\(?[R|r][T|t]\\)?"</span>
<a name="line-172"></a><a name="regex_'5b'5c'2a'7cU'7cu'5d'5bD'7cd'5d'5bA'7ca'5d'5bT'7ct'5d'5bE'7ce'5d"></a><span class='hs-definition'>regex_'5b'5c'2a'7cU'7cu'5d'5bD'7cd'5d'5bA'7ca'5d'5bT'7ct'5d'5bE'7ce'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"[\\*|U|u][D|d][A|a][T|t][E|e]"</span>
<a name="line-173"></a><a name="regex_'5b'5c'2a'7cU'7cu'5d'5bM'7cm'5d'5bO'7co'5d'5bN'7cn'5d'5bT'7ct'5d'5bH'7ch'5d"></a><span class='hs-definition'>regex_'5b'5c'2a'7cU'7cu'5d'5bM'7cm'5d'5bO'7co'5d'5bN'7cn'5d'5bT'7ct'5d'5bH'7ch'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"[\\*|U|u][M|m][O|o][N|n][T|t][H|h]"</span>
<a name="line-174"></a><a name="regex_'5b'5c'2a'7cU'7cu'5d'5bY'7cy'5d'5bE'7ce'5d'5bA'7ca'5d'5bR'7cr'5d"></a><span class='hs-definition'>regex_'5b'5c'2a'7cU'7cu'5d'5bY'7cy'5d'5bE'7ce'5d'5bA'7ca'5d'5bR'7cr'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"[\\*|U|u][Y|y][E|e][A|a][R|r]"</span>
<a name="line-175"></a><a name="regex_'5b'5c'2a'7cU'7cu'5d'5bD'7cd'5d'5bA'7ca'5d'5bY'7cy'5d"></a><span class='hs-definition'>regex_'5b'5c'2a'7cU'7cu'5d'5bD'7cd'5d'5bA'7ca'5d'5bY'7cy'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"[\\*|U|u][D|d][A|a][Y|y]"</span>
<a name="line-176"></a><a name="regex_'5c_'5bP'7cp'5d'5bA'7ca'5d'5bG'7cg'5d'5bE'7ce'5d'5b1'2d7'5d'3f"></a><span class='hs-definition'>regex_'5c_'5bP'7cp'5d'5bA'7ca'5d'5bG'7cg'5d'5bE'7ce'5d'5b1'2d7'5d'3f</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\ [P|p][A|a][G|g][E|e][1-7]?"</span>
<a name="line-177"></a><a name="regex_'5c'2a'28'5bA'7ca'5d'5bA'7cl'5d'7b2'7d'5bX'7cx'7cG'7cg'5d'3f'7c'5bB'7cb'5d'5bL'7cl'5d'5bA'7ca'5d'5bN'7cn'5d'5bK'7ck'5d'5bS'7cs'5d'3f'7c'5bO'7co'5d'5bN'7cn'5d'7c'5bO'7co'5d'5bF'7cf'5d'7b2'7d'7c'5bN'7cn'5d'5bU'7cu'5d'5bL'7cl'5d'7b2'7d'7c'5bZ'7cz'5d'5bE'7ce'5d'5bR'7cr'5d'5bO'7co'5d'5bS'7cs'5d'3f'7c'5bH'7ch'5d'5bI'7ci'5d'5bV'7cv'5d'5bA'7ca'5d'5bL'7cl'5d'7c'5bL'7cl'5d'5bO'7co'5d'5bV'7cv'5d'5bA'7ca'5d'5bL'7cl'5d'7c'5bP'7cp'5d'5bS'7cs'5d'7b2'7d'5bR'7cr'5d'7c'5bE'7ce'5d'5bN'7cn'5d'5bD'7cd'5d'7c'5bS'7cs'5d'5bT'7ct'5d'5bA'7ca'5d'5bR'7cr'5d'5bT'7ct'5d'29"></a><span class='hs-definition'>regex_'5c'2a'28'5bA'7ca'5d'5bA'7cl'5d'7b2'7d'5bX'7cx'7cG'7cg'5d'3f'7c'5bB'7cb'5d'5bL'7cl'5d'5bA'7ca'5d'5bN'7cn'5d'5bK'7ck'5d'5bS'7cs'5d'3f'7c'5bO'7co'5d'5bN'7cn'5d'7c'5bO'7co'5d'5bF'7cf'5d'7b2'7d'7c'5bN'7cn'5d'5bU'7cu'5d'5bL'7cl'5d'7b2'7d'7c'5bZ'7cz'5d'5bE'7ce'5d'5bR'7cr'5d'5bO'7co'5d'5bS'7cs'5d'3f'7c'5bH'7ch'5d'5bI'7ci'5d'5bV'7cv'5d'5bA'7ca'5d'5bL'7cl'5d'7c'5bL'7cl'5d'5bO'7co'5d'5bV'7cv'5d'5bA'7ca'5d'5bL'7cl'5d'7c'5bP'7cp'5d'5bS'7cs'5d'7b2'7d'5bR'7cr'5d'7c'5bE'7ce'5d'5bN'7cn'5d'5bD'7cd'5d'7c'5bS'7cs'5d'5bT'7ct'5d'5bA'7ca'5d'5bR'7cr'5d'5bT'7ct'5d'29</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*([A|a][A|l]{2}[X|x|G|g]?|[B|b][L|l][A|a][N|n][K|k][S|s]?|[O|o][N|n]|[O|o][F|f]{2}|[N|n][U|u][L|l]{2}|[Z|z][E|e][R|r][O|o][S|s]?|[H|h][I|i][V|v][A|a][L|l]|[L|l][O|o][V|v][A|a][L|l]|[P|p][S|s]{2}[R|r]|[E|e][N|n][D|d]|[S|s][T|t][A|a][R|r][T|t])"</span>
<a name="line-178"></a><a name="regex_'5c'2a'5bC'7cc'5d'5bD'7cd'5d'5bM'7cm'5d'5bY'7cy'5d"></a><span class='hs-definition'>regex_'5c'2a'5bC'7cc'5d'5bD'7cd'5d'5bM'7cm'5d'5bY'7cy'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[C|c][D|d][M|m][Y|y]"</span>
<a name="line-179"></a><a name="regex_'5c'2a'5bC'7cc'5d'5bM'7cm'5d'5bD'7cd'5d'5bY'7cy'5d"></a><span class='hs-definition'>regex_'5c'2a'5bC'7cc'5d'5bM'7cm'5d'5bD'7cd'5d'5bY'7cy'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[C|c][M|m][D|d][Y|y]"</span>
<a name="line-180"></a><a name="regex_'5c'2a'5bC'7cc'5d'5bY'7cy'5d'5bM'7cm'5d'5bD'7cd'5d"></a><span class='hs-definition'>regex_'5c'2a'5bC'7cc'5d'5bY'7cy'5d'5bM'7cm'5d'5bD'7cd'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[C|c][Y|y][M|m][D|d]"</span>
<a name="line-181"></a><a name="regex_'5c'2a'5bD'7cd'5d'5bM'7cm'5d'5bY'7cy'5d"></a><span class='hs-definition'>regex_'5c'2a'5bD'7cd'5d'5bM'7cm'5d'5bY'7cy'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[D|d][M|m][Y|y]"</span>
<a name="line-182"></a><a name="regex_'5c'2a'5bE'7ce'5d'5bU'7cu'5d'5bR'7cr'5d"></a><span class='hs-definition'>regex_'5c'2a'5bE'7ce'5d'5bU'7cu'5d'5bR'7cr'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[E|e][U|u][R|r]"</span>
<a name="line-183"></a><a name="regex_'5c'2a'5bH'7ch'5d'5bM'7cm'5d'5bS'7cs'5d"></a><span class='hs-definition'>regex_'5c'2a'5bH'7ch'5d'5bM'7cm'5d'5bS'7cs'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[H|h][M|m][S|s]"</span>
<a name="line-184"></a><a name="regex_'5c'2a'5bI'7ci'5d'5bS'7cs'5d'5bO'7co'5d"></a><span class='hs-definition'>regex_'5c'2a'5bI'7ci'5d'5bS'7cs'5d'5bO'7co'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[I|i][S|s][O|o]"</span>
<a name="line-185"></a><a name="regex_'5c'2a'5bJ'7cj'5d'5bI'7ci'5d'5bS'7cs'5d"></a><span class='hs-definition'>regex_'5c'2a'5bJ'7cj'5d'5bI'7ci'5d'5bS'7cs'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[J|j][I|i][S|s]"</span>
<a name="line-186"></a><a name="regex_'5c'2a'5bJ'7cj'5d'5bO'7co'5d'5bB'7cb'5d'28'5bR'7cr'5d'5bU'7cu'5d'5bN'7cn'5d'29'3f"></a><span class='hs-definition'>regex_'5c'2a'5bJ'7cj'5d'5bO'7co'5d'5bB'7cb'5d'28'5bR'7cr'5d'5bU'7cu'5d'5bN'7cn'5d'29'3f</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[J|j][O|o][B|b]([R|r][U|u][N|n])?"</span>
<a name="line-187"></a><a name="regex_'5c'2a'28'5bL'7cl'5d'5bO'7co'5d'5bN'7cn'5d'5bG'7cg'5d'29'3f'5bJ'7cj'5d'5bU'7cu'5d'5bL'7cl'5d"></a><span class='hs-definition'>regex_'5c'2a'28'5bL'7cl'5d'5bO'7co'5d'5bN'7cn'5d'5bG'7cg'5d'29'3f'5bJ'7cj'5d'5bU'7cu'5d'5bL'7cl'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*([L|l][O|o][N|n][G|g])?[J|j][U|u][L|l]"</span>
<a name="line-188"></a><a name="regex_'5c'2a'5bM'7cm'5d'5bD'7cd'5d'5bY'7cy'5d"></a><span class='hs-definition'>regex_'5c'2a'5bM'7cm'5d'5bD'7cd'5d'5bY'7cy'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[M|m][D|d][Y|y]"</span>
<a name="line-189"></a><a name="regex_'5c'2a'5bS'7cs'5d'5bY'7cy'5d'5bS'7cs'5d"></a><span class='hs-definition'>regex_'5c'2a'5bS'7cs'5d'5bY'7cy'5d'5bS'7cs'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[S|s][Y|y][S|s]"</span>
<a name="line-190"></a><a name="regex_'5c'2a'5bU'7cu'5d'5bS'7cs'5d'5bA'7ca'5d"></a><span class='hs-definition'>regex_'5c'2a'5bU'7cu'5d'5bS'7cs'5d'5bA'7ca'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[U|u][S|s][A|a]"</span>
<a name="line-191"></a><a name="regex_'5c'2a'5bY'7cy'5d'5bM'7cm'5d'5bD'7cd'5d"></a><span class='hs-definition'>regex_'5c'2a'5bY'7cy'5d'5bM'7cm'5d'5bD'7cd'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[Y|y][M|m][D|d]"</span>
<a name="line-192"></a><a name="regex_'5c'2a'5bA'7ca'5d'5bL'7cl'5d'5bT'7ct'5d'5bS'7cs'5d'5bE'7ce'5d'5bQ'7cq'5d"></a><span class='hs-definition'>regex_'5c'2a'5bA'7ca'5d'5bL'7cl'5d'5bT'7ct'5d'5bS'7cs'5d'5bE'7ce'5d'5bQ'7cq'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[A|a][L|l][T|t][S|s][E|e][Q|q]"</span>
<a name="line-193"></a><a name="regex_'5c'2a'5bE'7ce'5d'5bQ'7cq'5d'5bU'7cu'5d'5bA'7ca'5d'5bT'7ct'5d'5bE'7ce'5d"></a><span class='hs-definition'>regex_'5c'2a'5bE'7ce'5d'5bQ'7cq'5d'5bU'7cu'5d'5bA'7ca'5d'5bT'7ct'5d'5bE'7ce'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[E|e][Q|q][U|u][A|a][T|t][E|e]"</span>
<a name="line-194"></a><a name="regex_'5c'2a'5bF'7cf'5d'5bI'7ci'5d'5bL'7cl'5d'5bE'7ce'5d"></a><span class='hs-definition'>regex_'5c'2a'5bF'7cf'5d'5bI'7ci'5d'5bL'7cl'5d'5bE'7ce'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[F|f][I|i][L|l][E|e]"</span>
<a name="line-195"></a><a name="regex_'5c'2a'5bF'7cf'5d'5bT'7ct'5d'5bR'7cr'5d'5bA'7ca'5d'5bN'7cn'5d'5bS'7cs'5d"></a><span class='hs-definition'>regex_'5c'2a'5bF'7cf'5d'5bT'7ct'5d'5bR'7cr'5d'5bA'7ca'5d'5bN'7cn'5d'5bS'7cs'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[F|f][T|t][R|r][A|a][N|n][S|s]"</span>
<a name="line-196"></a><a name="regex_'5c'2a'5bI'7ci'5d'5bL'7cl'5d'5bE'7ce'5d'5bR'7cr'5d'5bP'7cp'5d'5bG'7cg'5d"></a><span class='hs-definition'>regex_'5c'2a'5bI'7ci'5d'5bL'7cl'5d'5bE'7ce'5d'5bR'7cr'5d'5bP'7cp'5d'5bG'7cg'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[I|i][L|l][E|e][R|r][P|p][G|g]"</span>
<a name="line-197"></a><a name="regex_'5c'2a'5bC'7cc'5d'5bR'7cr'5d'5bT'7ct'5d'5bB'7cb'5d'5bN'7cn'5d'5bD'7cd'5d'5bR'7cr'5d'5bP'7cp'5d'5bG'7cg'5d"></a><span class='hs-definition'>regex_'5c'2a'5bC'7cc'5d'5bR'7cr'5d'5bT'7ct'5d'5bB'7cb'5d'5bN'7cn'5d'5bD'7cd'5d'5bR'7cr'5d'5bP'7cp'5d'5bG'7cg'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[C|c][R|r][T|t][B|b][N|n][D|d][R|r][P|p][G|g]"</span>
<a name="line-198"></a><a name="regex_'5c'2a'5bC'7cc'5d'5bR'7cr'5d'5bT'7ct'5d'5bR'7cr'5d'5bP'7cp'5d'5bG'7cg'5d'5bM'7cm'5d'5bO'7co'5d'5bD'7cd'5d"></a><span class='hs-definition'>regex_'5c'2a'5bC'7cc'5d'5bR'7cr'5d'5bT'7ct'5d'5bR'7cr'5d'5bP'7cp'5d'5bG'7cg'5d'5bM'7cm'5d'5bO'7co'5d'5bD'7cd'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[C|c][R|r][T|t][R|r][P|p][G|g][M|m][O|o][D|d]"</span>
<a name="line-199"></a><a name="regex_'5c'2a'5bV'7cv'5d'5b0'2d9'5d'5bR'7cr'5d'5b0'2d9'5d'5bM'7cm'5d'5b0'2d9'5d"></a><span class='hs-definition'>regex_'5c'2a'5bV'7cv'5d'5b0'2d9'5d'5bR'7cr'5d'5b0'2d9'5d'5bM'7cm'5d'5b0'2d9'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[V|v][0-9][R|r][0-9][M|m][0-9]"</span>
<a name="line-200"></a><a name="regex_'5c'2a'5bN'7cn'5d'5bO'7co'5d'5bP'7cp'5d'5bA'7ca'5d'5bS'7cs'5d'7b2'7d"></a><span class='hs-definition'>regex_'5c'2a'5bN'7cn'5d'5bO'7co'5d'5bP'7cp'5d'5bA'7ca'5d'5bS'7cs'5d'7b2'7d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[N|n][O|o][P|p][A|a][S|s]{2}"</span>
<a name="line-201"></a><a name="regex_'5c'2a'5bO'7co'5d'5bM'7cm'5d'5bI'7ci'5d'5bT'7ct'5d"></a><span class='hs-definition'>regex_'5c'2a'5bO'7co'5d'5bM'7cm'5d'5bI'7ci'5d'5bT'7ct'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[O|o][M|m][I|i][T|t]"</span>
<a name="line-202"></a><a name="regex_'5c'2a'5bV'7cv'5d'5bA'7ca'5d'5bR'7cr'5d'5bS'7cs'5d'5bI'7ci'5d'5bZ'7cz'5d'5bE'7ce'5d"></a><span class='hs-definition'>regex_'5c'2a'5bV'7cv'5d'5bA'7ca'5d'5bR'7cr'5d'5bS'7cs'5d'5bI'7ci'5d'5bZ'7cz'5d'5bE'7ce'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[V|v][A|a][R|r][S|s][I|i][Z|z][E|e]"</span>
<a name="line-203"></a><a name="regex_'5c'2a'5bR'7cr'5d'5bI'7ci'5d'5bG'7cg'5d'5bH'7ch'5d'5bT'7ct'5d'5bA'7ca'5d'5bD'7cd'5d'5bJ'7cj'5d"></a><span class='hs-definition'>regex_'5c'2a'5bR'7cr'5d'5bI'7ci'5d'5bG'7cg'5d'5bH'7ch'5d'5bT'7ct'5d'5bA'7ca'5d'5bD'7cd'5d'5bJ'7cj'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[R|r][I|i][G|g][H|h][T|t][A|a][D|d][J|j]"</span>
<a name="line-204"></a><a name="regex_'5c'2a'5bS'7cs'5d'5bT'7ct'5d'5bR'7cr'5d'5bI'7ci'5d'5bN'7cn'5d'5bG'7cg'5d"></a><span class='hs-definition'>regex_'5c'2a'5bS'7cs'5d'5bT'7ct'5d'5bR'7cr'5d'5bI'7ci'5d'5bN'7cn'5d'5bG'7cg'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[S|s][T|t][R|r][I|i][N|n][G|g]"</span>
<a name="line-205"></a><a name="regex_'5c'2a'5bT'7ct'5d'5bR'7cr'5d'5bI'7ci'5d'5bM'7cm'5d"></a><span class='hs-definition'>regex_'5c'2a'5bT'7ct'5d'5bR'7cr'5d'5bI'7ci'5d'5bM'7cm'5d</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>compileRegex</span> <span class='hs-str'>"\\*[T|t][R|r][I|i][M|m]"</span>
<a name="line-206"></a>
<a name="line-207"></a><a name="defaultAttributes"></a><span class='hs-definition'>defaultAttributes</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyglyph'>[</span><span class='hs-layout'>(</span><span class='hs-str'>"Default"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"CControlLevel"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"CIndicators"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"CFactor1"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"FindOC"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"NonEvalOC2"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"NonEvalOC3"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"NonEvalOC4"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"NonEvalOC5"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"NonEvalOC6"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"NonEvalOC7"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"CFactor2"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"EvalOC2"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"EvalOC3"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"EvalOC4"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"EvalOC5"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"EvalOC6"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"EvalOC8"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"CExFactor2"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"EvalOCCont"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"Comments"</span><span class='hs-layout'>,</span><span class='hs-str'>"Comment"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"StringConstants"</span><span class='hs-layout'>,</span><span class='hs-str'>"ConstantChar"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"Directives"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"Directives2"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"Directives3"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"Free"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"Exec"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"Biffs"</span><span class='hs-layout'>,</span><span class='hs-str'>"Biff"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"CommonCode"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"Indicators"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"ReservedWords"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"AnyCode"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"D"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span><span class='hs-layout'>(</span><span class='hs-str'>"P"</span><span class='hs-layout'>,</span><span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span><span class='hs-keyglyph'>]</span>
<a name="line-208"></a>
<a name="line-209"></a><a name="parseRules"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"Default"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-210"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5bPpOoIiHhFfDdCc_'5d'3f'5c'2a</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Comment"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"Comments"</span><span class='hs-layout'>)</span>
<a name="line-211"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-212"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5bPpOoIiHhFfDdCc_'5d'3f'2f</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Directive"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"Directives"</span><span class='hs-layout'>)</span>
<a name="line-213"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-214"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pAnyChar</span> <span class='hs-str'>"OoIiHhFf"</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Keyword"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"AnyCode"</span><span class='hs-layout'>)</span>
<a name="line-215"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-216"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pAnyChar</span> <span class='hs-str'>"Dd"</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Keyword"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"D"</span><span class='hs-layout'>)</span>
<a name="line-217"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-218"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pAnyChar</span> <span class='hs-str'>"Pp"</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Keyword"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"P"</span><span class='hs-layout'>)</span>
<a name="line-219"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-220"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pAnyChar</span> <span class='hs-str'>"Cc"</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Keyword"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CControlLevel"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-221"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-222"></a>
<a name="line-223"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"CControlLevel"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-224"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c_'7b2'7d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Indicator"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CIndicators"</span><span class='hs-layout'>)</span>
<a name="line-225"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-226"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5bL'7cl'5d'5b0'2d9'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Indicator"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CIndicators"</span><span class='hs-layout'>)</span>
<a name="line-227"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-228"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5bO'7co'7cL'7cl'7cS'7cs'5d'5bR'7cr'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Indicator"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CIndicators"</span><span class='hs-layout'>)</span>
<a name="line-229"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-230"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5bA'7ca'5d'5bN'7cn'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Indicator"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CIndicators"</span><span class='hs-layout'>)</span>
<a name="line-231"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-232"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5bL'7cl'7cS'7cs'5d'5bR'7cr'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Indicator"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CIndicators"</span><span class='hs-layout'>)</span>
<a name="line-233"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-234"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'2e'7b2'7d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Alert"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CIndicators"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-235"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-236"></a>
<a name="line-237"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"CIndicators"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-238"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c_'7b3'7d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Indicator"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CFactor1"</span><span class='hs-layout'>)</span>
<a name="line-239"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-240"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5b'5c_'7cN'7cn'5d'5b0'2d9'5d'7b2'7d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Indicator"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CFactor1"</span><span class='hs-layout'>)</span>
<a name="line-241"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-242"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5b'5c_'7cN'7cn'5d'5bK'7ck'5d'5bA'2dN'7cp'2dy'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Indicator"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CFactor1"</span><span class='hs-layout'>)</span>
<a name="line-243"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-244"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5b'5c_'7cN'7cn'5d'5bK'7ck'5d'5bP'2dY'7cp'2dy'5d'7d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Indicator"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CFactor1"</span><span class='hs-layout'>)</span>
<a name="line-245"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-246"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5b'5c_'7cN'7cn'5d'5bL'7cl'5d'5b1'2d9'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Indicator"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CFactor1"</span><span class='hs-layout'>)</span>
<a name="line-247"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-248"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5b'5c_'7cN'7cn'5d'5bL'7cl'7cM'7cm'5d'5bR'7cr'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Indicator"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CFactor1"</span><span class='hs-layout'>)</span>
<a name="line-249"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-250"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5b'5c_'7cN'7cn'5d'5bR'7cr'5d'5bT'7ct'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Indicator"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CFactor1"</span><span class='hs-layout'>)</span>
<a name="line-251"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-252"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5b'5c_'7cN'7cn'5d'5bU'7cu'5d'5b1'2d8'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Indicator"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CFactor1"</span><span class='hs-layout'>)</span>
<a name="line-253"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-254"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5b'5c_'7cN'7cn'5d'5bO'7co'5d'5bA'2dG'7ca'2dg'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Indicator"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CFactor1"</span><span class='hs-layout'>)</span>
<a name="line-255"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-256"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5b'5c_'7cN'7cn'5d'5bO'7co'5d'5bV'7cv'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Indicator"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CFactor1"</span><span class='hs-layout'>)</span>
<a name="line-257"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-258"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5b'5c_'7cN'7cn'5d'5bH'7ch'5d'5b1'2d9'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Indicator"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CFactor1"</span><span class='hs-layout'>)</span>
<a name="line-259"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-260"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'2e'7b3'7d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Alert"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CFactor1"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-261"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-262"></a>
<a name="line-263"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"CFactor1"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-264"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'2e'7b14'7d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"FindOC"</span><span class='hs-layout'>)</span>
<a name="line-265"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-266"></a>
<a name="line-267"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"FindOC"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-268"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pKeyword</span> <span class='hs-str'>" \n\t.():!+,-&lt;=&gt;%&amp;*/;?[]^{|}~\\"</span> <span class='hs-varid'>list_nonevalopcodes2</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Keyword"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"NonEvalOC2"</span><span class='hs-layout'>)</span>
<a name="line-269"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-270"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pKeyword</span> <span class='hs-str'>" \n\t.():!+,-&lt;=&gt;%&amp;*/;?[]^{|}~\\"</span> <span class='hs-varid'>list_nonevalopcodes3</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Keyword"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"NonEvalOC3"</span><span class='hs-layout'>)</span>
<a name="line-271"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-272"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pKeyword</span> <span class='hs-str'>" \n\t.():!+,-&lt;=&gt;%&amp;*/;?[]^{|}~\\"</span> <span class='hs-varid'>list_nonevalopcodes4</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Keyword"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"NonEvalOC4"</span><span class='hs-layout'>)</span>
<a name="line-273"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-274"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pKeyword</span> <span class='hs-str'>" \n\t.():!+,-&lt;=&gt;%&amp;*/;?[]^{|}~\\"</span> <span class='hs-varid'>list_nonevalopcodes5</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Keyword"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"NonEvalOC5"</span><span class='hs-layout'>)</span>
<a name="line-275"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-276"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pKeyword</span> <span class='hs-str'>" \n\t.():!+,-&lt;=&gt;%&amp;*/;?[]^{|}~\\"</span> <span class='hs-varid'>list_nonevalopcodes6</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Keyword"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"NonEvalOC6"</span><span class='hs-layout'>)</span>
<a name="line-277"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-278"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pKeyword</span> <span class='hs-str'>" \n\t.():!+,-&lt;=&gt;%&amp;*/;?[]^{|}~\\"</span> <span class='hs-varid'>list_nonevalopcodes7</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Keyword"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"NonEvalOC7"</span><span class='hs-layout'>)</span>
<a name="line-279"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-280"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5bZ'7cz'5d'2d'28'5bA'7ca'5d'5bD'7cd'5d'7b2'7d'7c'5bS'7cs'5d'5bU'7cu'5d'5bB'7cb'5d'29</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Keyword"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"NonEvalOC5"</span><span class='hs-layout'>)</span>
<a name="line-281"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-282"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pKeyword</span> <span class='hs-str'>" \n\t.():!+,-&lt;=&gt;%&amp;*/;?[]^{|}~\\"</span> <span class='hs-varid'>list_evalopcodes2</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Keyword"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"EvalOC2"</span><span class='hs-layout'>)</span>
<a name="line-283"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-284"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pKeyword</span> <span class='hs-str'>" \n\t.():!+,-&lt;=&gt;%&amp;*/;?[]^{|}~\\"</span> <span class='hs-varid'>list_evalopcodes3</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Keyword"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"EvalOC3"</span><span class='hs-layout'>)</span>
<a name="line-285"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-286"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pKeyword</span> <span class='hs-str'>" \n\t.():!+,-&lt;=&gt;%&amp;*/;?[]^{|}~\\"</span> <span class='hs-varid'>list_evalopcodes4</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Keyword"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"EvalOC4"</span><span class='hs-layout'>)</span>
<a name="line-287"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-288"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pKeyword</span> <span class='hs-str'>" \n\t.():!+,-&lt;=&gt;%&amp;*/;?[]^{|}~\\"</span> <span class='hs-varid'>list_evalopcodes5</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Keyword"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"EvalOC5"</span><span class='hs-layout'>)</span>
<a name="line-289"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-290"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pKeyword</span> <span class='hs-str'>" \n\t.():!+,-&lt;=&gt;%&amp;*/;?[]^{|}~\\"</span> <span class='hs-varid'>list_evalopcodes6</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Keyword"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"EvalOC6"</span><span class='hs-layout'>)</span>
<a name="line-291"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-292"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5bO'7co'5d'5bN'7cn'5d'2d'28'5bE'7ce'5d'5bR'7cr'5d'7b2'7d'7c'5bO'7co'5d'5bR'7cr'5d'29</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Keyword"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"EvalOC8"</span><span class='hs-layout'>)</span>
<a name="line-293"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-294"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c_'7b10'7d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CFactor2"</span><span class='hs-layout'>)</span>
<a name="line-295"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-296"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'2e'7b10'7d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Alert"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CFactor2"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-297"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-298"></a>
<a name="line-299"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"NonEvalOC2"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-300"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c_'7b8'7d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CFactor2"</span><span class='hs-layout'>)</span>
<a name="line-301"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-302"></a>
<a name="line-303"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"NonEvalOC3"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-304"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c_'7b7'7d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CFactor2"</span><span class='hs-layout'>)</span>
<a name="line-305"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-306"></a>
<a name="line-307"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"NonEvalOC4"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-308"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c_'7b6'7d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CFactor2"</span><span class='hs-layout'>)</span>
<a name="line-309"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-310"></a>
<a name="line-311"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"NonEvalOC5"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-312"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c_'7b5'7d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CFactor2"</span><span class='hs-layout'>)</span>
<a name="line-313"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-314"></a>
<a name="line-315"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"NonEvalOC6"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-316"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c_'7b4'7d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CFactor2"</span><span class='hs-layout'>)</span>
<a name="line-317"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-318"></a>
<a name="line-319"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"NonEvalOC7"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-320"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c_'7b3'7d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CFactor2"</span><span class='hs-layout'>)</span>
<a name="line-321"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-322"></a>
<a name="line-323"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"CFactor2"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-324"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pDetectChar</span> <span class='hs-conid'>False</span> <span class='hs-chr'>'%'</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Biff"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"Biffs"</span><span class='hs-layout'>)</span>
<a name="line-325"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-326"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>parseRules</span> <span class='hs-str'>"CommonCode"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-327"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-328"></a>
<a name="line-329"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"EvalOC2"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-330"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c_'7b8'7d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CExFactor2"</span><span class='hs-layout'>)</span>
<a name="line-331"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-332"></a>
<a name="line-333"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"EvalOC3"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-334"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c_'7b7'7d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CExFactor2"</span><span class='hs-layout'>)</span>
<a name="line-335"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-336"></a>
<a name="line-337"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"EvalOC4"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-338"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c_'7b6'7d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CExFactor2"</span><span class='hs-layout'>)</span>
<a name="line-339"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-340"></a>
<a name="line-341"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"EvalOC5"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-342"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c_'7b5'7d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CExFactor2"</span><span class='hs-layout'>)</span>
<a name="line-343"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-344"></a>
<a name="line-345"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"EvalOC6"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-346"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c_'7b4'7d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CExFactor2"</span><span class='hs-layout'>)</span>
<a name="line-347"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-348"></a>
<a name="line-349"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"EvalOC8"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-350"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c_'7b2'7d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"CExFactor2"</span><span class='hs-layout'>)</span>
<a name="line-351"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-352"></a>
<a name="line-353"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"CExFactor2"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-354"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pDetectChar</span> <span class='hs-conid'>False</span> <span class='hs-chr'>'%'</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Biff"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"Biffs"</span><span class='hs-layout'>)</span>
<a name="line-355"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-356"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>parseRules</span> <span class='hs-str'>"CommonCode"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-357"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-358"></a>
<a name="line-359"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"EvalOCCont"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-360"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pDetectChar</span> <span class='hs-conid'>False</span> <span class='hs-chr'>'%'</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Biff"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"Biffs"</span><span class='hs-layout'>)</span>
<a name="line-361"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-362"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>parseRules</span> <span class='hs-str'>"CommonCode"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-363"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-364"></a>
<a name="line-365"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"Comments"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-366"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'28'2a'28FIXME'7cTODO'29'5c'29'2a</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"BoldComment"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-367"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-368"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'28'2a'28NOTE'3a'29'5c'29'2a</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"BoldComment"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-369"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-370"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'2d'7c'3d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"DivideComment"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-371"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-372"></a>
<a name="line-373"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"StringConstants"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-374"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pDetectChar</span> <span class='hs-conid'>False</span> <span class='hs-chr'>'\''</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"ConstantChar"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-layout'>(</span><span class='hs-varid'>popContext</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-375"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-376"></a>
<a name="line-377"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"Directives"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-378"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5bF'7cf'5d'5bR'7cr'5d'5bE'7ce'5d'5bE'7ce'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Directive"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"Free"</span><span class='hs-layout'>)</span>
<a name="line-379"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-380"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5bE'7ce'5d'5bX'7cx'5d'5bE'7ce'5d'5bC'7cc'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Directive"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"Exec"</span><span class='hs-layout'>)</span>
<a name="line-381"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-382"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pKeyword</span> <span class='hs-str'>" \n\t.():!+,-&lt;=&gt;%&amp;*/;?[]^{|}~\\"</span> <span class='hs-varid'>list_directives</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Directive"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"Directives2"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-383"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-384"></a>
<a name="line-385"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"Directives2"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-386"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pKeyword</span> <span class='hs-str'>" \n\t.():!+,-&lt;=&gt;%&amp;*/;?[]^{|}~\\"</span> <span class='hs-varid'>list_directives2</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Directive"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"Directives3"</span><span class='hs-layout'>)</span>
<a name="line-387"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-388"></a>
<a name="line-389"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"Directives3"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-390"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pKeyword</span> <span class='hs-str'>" \n\t.():!+,-&lt;=&gt;%&amp;*/;?[]^{|}~\\"</span> <span class='hs-varid'>list_directives3</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Directive"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-391"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-392"></a>
<a name="line-393"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"Free"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-394"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5bPOIHFDC_'5d'3f'2f'5bE'7ce'5d'5bN'7cn'5d'5bD'7cd'5d'2d'5bF'7cf'5d'5bR'7cr'5d'5bE'7ce'5d'5bE'7ce'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Directive"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-layout'>(</span><span class='hs-varid'>popContext</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-395"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-396"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>parseRules</span> <span class='hs-str'>"CommonCode"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-397"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-398"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pDetectChar</span> <span class='hs-conid'>False</span> <span class='hs-chr'>'%'</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Biff"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"Biffs"</span><span class='hs-layout'>)</span>
<a name="line-399"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-400"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'2f'2f</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Comment"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"Comments"</span><span class='hs-layout'>)</span>
<a name="line-401"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-402"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pKeyword</span> <span class='hs-str'>" \n\t.():!+,-&lt;=&gt;%&amp;*/;?[]^{|}~\\"</span> <span class='hs-varid'>list_freeopcodes</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Keyword"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-403"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-404"></a>
<a name="line-405"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"Exec"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-406"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5bPOIHFDC_'5d'3f'2f'5bE'7ce'5d'5bN'7cn'5d'5bD'7cd'5d'2d'5bE'7ce'5d'5bX'7cx'5d'5bE'7ce'5d'5bC'7cc'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Directive"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-layout'>(</span><span class='hs-varid'>popContext</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-407"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-408"></a>
<a name="line-409"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"Biffs"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-410"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pKeyword</span> <span class='hs-str'>" \n\t.():!+,-&lt;=&gt;%&amp;*/;?[]^{|}~\\"</span> <span class='hs-varid'>list_biffs</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Biff"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-layout'>(</span><span class='hs-varid'>popContext</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-411"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-412"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'2e</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Normal Text"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-layout'>(</span><span class='hs-varid'>popContext</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-413"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-414"></a>
<a name="line-415"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"CommonCode"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-416"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>parseRules</span> <span class='hs-str'>"ReservedWords"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-417"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-418"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>parseRules</span> <span class='hs-str'>"Indicators"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-419"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-420"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pDetectChar</span> <span class='hs-conid'>False</span> <span class='hs-chr'>'\''</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"ConstantChar"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"StringConstants"</span><span class='hs-layout'>)</span>
<a name="line-421"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-422"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pFloat</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Float"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-423"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-424"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5bXx'5d'27'5b0'2d9a'2dfA'2dF'5d'7b2'2c'7d'27</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Hex"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-425"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-426"></a>                        <span class='hs-layout'>(</span><span class='hs-varid'>withChildren</span> <span class='hs-layout'>(</span><span class='hs-varid'>pInt</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Decimal"</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pString</span> <span class='hs-conid'>False</span> <span class='hs-str'>"ULL"</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Decimal"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-427"></a>                                                                          <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-428"></a>                                                                          <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pString</span> <span class='hs-conid'>False</span> <span class='hs-str'>"LUL"</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Decimal"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-429"></a>                                                                          <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-430"></a>                                                                          <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pString</span> <span class='hs-conid'>False</span> <span class='hs-str'>"LLU"</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Decimal"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-431"></a>                                                                          <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-432"></a>                                                                          <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pString</span> <span class='hs-conid'>False</span> <span class='hs-str'>"UL"</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Decimal"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-433"></a>                                                                          <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-434"></a>                                                                          <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pString</span> <span class='hs-conid'>False</span> <span class='hs-str'>"LU"</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Decimal"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-435"></a>                                                                          <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-436"></a>                                                                          <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pString</span> <span class='hs-conid'>False</span> <span class='hs-str'>"LL"</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Decimal"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-437"></a>                                                                          <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-438"></a>                                                                          <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pString</span> <span class='hs-conid'>False</span> <span class='hs-str'>"U"</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Decimal"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-439"></a>                                                                          <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-440"></a>                                                                          <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pString</span> <span class='hs-conid'>False</span> <span class='hs-str'>"L"</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Decimal"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-441"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-442"></a>
<a name="line-443"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"Indicators"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-444"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bI'7ci'5d'5bN'7cn'5d'5c'28'3f'5b0'2d9'5d'5b0'2d9'5d'5c'29'3f</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Indicator"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-445"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-446"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bI'7ci'5d'5bN'7cn'5d'5c'28'3f1'5bP'7cp'5d'5c'29'3f</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Indicator"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-447"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-448"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bI'7ci'5d'5bN'7cn'5d'5c'28'3f'5bH'7ch'7cL'7cl'5d'5b1'2d9'5d'5c'29'3f</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Indicator"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-449"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-450"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bI'7ci'5d'5bN'7cn'5d'5c'28'3f'5bL'7cl'7cM'7cm'5d'5bR'7cr'5d'5c'29'3f</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Indicator"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-451"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-452"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bI'7ci'5d'5bN'7cn'5d'5c'28'3f'5bO'7co'5d'5bA'2dG'7ca'2dg'7cV'7cv'5d'5c'29'3f</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Indicator"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-453"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-454"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bI'7ci'5d'5bN'7cn'5d'5c'28'3f'5bU'7cu'5d'5b1'2d8'5d'5c'29'3f</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Indicator"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-455"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-456"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bI'7ci'5d'5bN'7cn'5d'5c'28'3f'5bK'7ck'5d'5bA'2dN'7ca'2dn'7cP'2dY'7cp'2dy'5d'5c'29'3f</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Indicator"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-457"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-458"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bI'7ci'5d'5bN'7cn'5d'5c'28'3f'5bR'7cr'5d'5bT'7ct'5d'5c'29'3f</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Indicator"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-459"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-460"></a>
<a name="line-461"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"ReservedWords"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-462"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5b'5c'2a'7cU'7cu'5d'5bD'7cd'5d'5bA'7ca'5d'5bT'7ct'5d'5bE'7ce'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-463"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-464"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5b'5c'2a'7cU'7cu'5d'5bM'7cm'5d'5bO'7co'5d'5bN'7cn'5d'5bT'7ct'5d'5bH'7ch'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-465"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-466"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5b'5c'2a'7cU'7cu'5d'5bY'7cy'5d'5bE'7ce'5d'5bA'7ca'5d'5bR'7cr'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-467"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-468"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5b'5c'2a'7cU'7cu'5d'5bD'7cd'5d'5bA'7ca'5d'5bY'7cy'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-469"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-470"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c_'5bP'7cp'5d'5bA'7ca'5d'5bG'7cg'5d'5bE'7ce'5d'5b1'2d7'5d'3f</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-471"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-472"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'28'5bA'7ca'5d'5bA'7cl'5d'7b2'7d'5bX'7cx'7cG'7cg'5d'3f'7c'5bB'7cb'5d'5bL'7cl'5d'5bA'7ca'5d'5bN'7cn'5d'5bK'7ck'5d'5bS'7cs'5d'3f'7c'5bO'7co'5d'5bN'7cn'5d'7c'5bO'7co'5d'5bF'7cf'5d'7b2'7d'7c'5bN'7cn'5d'5bU'7cu'5d'5bL'7cl'5d'7b2'7d'7c'5bZ'7cz'5d'5bE'7ce'5d'5bR'7cr'5d'5bO'7co'5d'5bS'7cs'5d'3f'7c'5bH'7ch'5d'5bI'7ci'5d'5bV'7cv'5d'5bA'7ca'5d'5bL'7cl'5d'7c'5bL'7cl'5d'5bO'7co'5d'5bV'7cv'5d'5bA'7ca'5d'5bL'7cl'5d'7c'5bP'7cp'5d'5bS'7cs'5d'7b2'7d'5bR'7cr'5d'7c'5bE'7ce'5d'5bN'7cn'5d'5bD'7cd'5d'7c'5bS'7cs'5d'5bT'7ct'5d'5bA'7ca'5d'5bR'7cr'5d'5bT'7ct'5d'29</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Constant"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-473"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-474"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bC'7cc'5d'5bD'7cd'5d'5bM'7cm'5d'5bY'7cy'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-475"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-476"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bC'7cc'5d'5bM'7cm'5d'5bD'7cd'5d'5bY'7cy'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-477"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-478"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bC'7cc'5d'5bY'7cy'5d'5bM'7cm'5d'5bD'7cd'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-479"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-480"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bD'7cd'5d'5bM'7cm'5d'5bY'7cy'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-481"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-482"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bE'7ce'5d'5bU'7cu'5d'5bR'7cr'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-483"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-484"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bH'7ch'5d'5bM'7cm'5d'5bS'7cs'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-485"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-486"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bI'7ci'5d'5bS'7cs'5d'5bO'7co'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-487"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-488"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bJ'7cj'5d'5bI'7ci'5d'5bS'7cs'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-489"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-490"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bJ'7cj'5d'5bO'7co'5d'5bB'7cb'5d'28'5bR'7cr'5d'5bU'7cu'5d'5bN'7cn'5d'29'3f</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-491"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-492"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'28'5bL'7cl'5d'5bO'7co'5d'5bN'7cn'5d'5bG'7cg'5d'29'3f'5bJ'7cj'5d'5bU'7cu'5d'5bL'7cl'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-493"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-494"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bM'7cm'5d'5bD'7cd'5d'5bY'7cy'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-495"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-496"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bS'7cs'5d'5bY'7cy'5d'5bS'7cs'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-497"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-498"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bU'7cu'5d'5bS'7cs'5d'5bA'7ca'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-499"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-500"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bY'7cy'5d'5bM'7cm'5d'5bD'7cd'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-501"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-502"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bA'7ca'5d'5bL'7cl'5d'5bT'7ct'5d'5bS'7cs'5d'5bE'7ce'5d'5bQ'7cq'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-503"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-504"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bE'7ce'5d'5bQ'7cq'5d'5bU'7cu'5d'5bA'7ca'5d'5bT'7ct'5d'5bE'7ce'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-505"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-506"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bF'7cf'5d'5bI'7ci'5d'5bL'7cl'5d'5bE'7ce'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-507"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-508"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bF'7cf'5d'5bT'7ct'5d'5bR'7cr'5d'5bA'7ca'5d'5bN'7cn'5d'5bS'7cs'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-509"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-510"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bI'7ci'5d'5bL'7cl'5d'5bE'7ce'5d'5bR'7cr'5d'5bP'7cp'5d'5bG'7cg'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-511"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-512"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bC'7cc'5d'5bR'7cr'5d'5bT'7ct'5d'5bB'7cb'5d'5bN'7cn'5d'5bD'7cd'5d'5bR'7cr'5d'5bP'7cp'5d'5bG'7cg'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-513"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-514"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bC'7cc'5d'5bR'7cr'5d'5bT'7ct'5d'5bR'7cr'5d'5bP'7cp'5d'5bG'7cg'5d'5bM'7cm'5d'5bO'7co'5d'5bD'7cd'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-515"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-516"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bV'7cv'5d'5b0'2d9'5d'5bR'7cr'5d'5b0'2d9'5d'5bM'7cm'5d'5b0'2d9'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-517"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-518"></a>
<a name="line-519"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"AnyCode"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-520"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>parseRules</span> <span class='hs-str'>"CommonCode"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-521"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-522"></a>
<a name="line-523"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"D"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-524"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pKeyword</span> <span class='hs-str'>" \n\t.():!+,-&lt;=&gt;%&amp;*/;?[]^{|}~\\"</span> <span class='hs-varid'>list_dkeywords</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Keyword"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-525"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-526"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bN'7cn'5d'5bO'7co'5d'5bP'7cp'5d'5bA'7ca'5d'5bS'7cs'5d'7b2'7d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-527"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-528"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bO'7co'5d'5bM'7cm'5d'5bI'7ci'5d'5bT'7ct'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-529"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-530"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bV'7cv'5d'5bA'7ca'5d'5bR'7cr'5d'5bS'7cs'5d'5bI'7ci'5d'5bZ'7cz'5d'5bE'7ce'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-531"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-532"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bR'7cr'5d'5bI'7ci'5d'5bG'7cg'5d'5bH'7ch'5d'5bT'7ct'5d'5bA'7ca'5d'5bD'7cd'5d'5bJ'7cj'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-533"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-534"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bS'7cs'5d'5bT'7ct'5d'5bR'7cr'5d'5bI'7ci'5d'5bN'7cn'5d'5bG'7cg'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-535"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-536"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bT'7ct'5d'5bR'7cr'5d'5bI'7ci'5d'5bM'7cm'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-537"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-538"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pDetectChar</span> <span class='hs-conid'>False</span> <span class='hs-chr'>'%'</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Biff"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"Biffs"</span><span class='hs-layout'>)</span>
<a name="line-539"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-540"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>parseRules</span> <span class='hs-str'>"CommonCode"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-541"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-542"></a>
<a name="line-543"></a><span class='hs-definition'>parseRules</span> <span class='hs-str'>"P"</span> <span class='hs-keyglyph'>=</span> 
<a name="line-544"></a>  <span class='hs-keyword'>do</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pKeyword</span> <span class='hs-str'>" \n\t.():!+,-&lt;=&gt;%&amp;*/;?[]^{|}~\\"</span> <span class='hs-varid'>list_dkeywords</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Keyword"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-545"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-546"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bN'7cn'5d'5bO'7co'5d'5bP'7cp'5d'5bA'7ca'5d'5bS'7cs'5d'7b2'7d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-547"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-548"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bO'7co'5d'5bM'7cm'5d'5bI'7ci'5d'5bT'7ct'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-549"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-550"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bV'7cv'5d'5bA'7ca'5d'5bR'7cr'5d'5bS'7cs'5d'5bI'7ci'5d'5bZ'7cz'5d'5bE'7ce'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-551"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-552"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bR'7cr'5d'5bI'7ci'5d'5bG'7cg'5d'5bH'7ch'5d'5bT'7ct'5d'5bA'7ca'5d'5bD'7cd'5d'5bJ'7cj'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-553"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-554"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bS'7cs'5d'5bT'7ct'5d'5bR'7cr'5d'5bI'7ci'5d'5bN'7cn'5d'5bG'7cg'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-555"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-556"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pRegExpr</span> <span class='hs-varid'>regex_'5c'2a'5bT'7ct'5d'5bR'7cr'5d'5bI'7ci'5d'5bM'7cm'5d</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Reserved"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-557"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-558"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>pDetectChar</span> <span class='hs-conid'>False</span> <span class='hs-chr'>'%'</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>withAttribute</span> <span class='hs-str'>"Biff"</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;~</span> <span class='hs-varid'>pushContext</span> <span class='hs-str'>"Biffs"</span><span class='hs-layout'>)</span>
<a name="line-559"></a>                        <span class='hs-varop'>&lt;|&gt;</span>
<a name="line-560"></a>                        <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>parseRules</span> <span class='hs-str'>"CommonCode"</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-561"></a>     <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>attr</span><span class='hs-layout'>,</span> <span class='hs-varid'>result</span><span class='hs-layout'>)</span>
<a name="line-562"></a>
<a name="line-563"></a><span class='hs-definition'>parseRules</span> <span class='hs-varid'>x</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>fail</span> <span class='hs-varop'>$</span> <span class='hs-str'>"Unknown context"</span> <span class='hs-varop'>++</span> <span class='hs-varid'>x</span>
</pre></body>
</html>