module Text.Highlighter.Lexers.ABAP (lexer) where

import Text.Regex.PCRE.Light
import Text.Highlighter.Types

lexer :: Lexer
lexer = Lexer
    { lName = "\65\66\65\80"
    , lAliases = ["\97\98\97\112"]
    , lExtensions = ["\46\97\98\97\112"]
    , lMimetypes = ["\116\101\120\116\47\120\45\97\98\97\112"]
    , lStart = root'
    , lFlags = [caseless, multiline]
    }

variableNames' :: TokenMatcher
variableNames' =
    [ tok "\60\91\92\83\95\93\43\62" (Arbitrary "\78\97\109\101" :. Arbitrary "\86\97\114\105\97\98\108\101")
    , tok "\91\92\119\93\91\92\119\95\126\93\42\40\63\58\40\92\91\92\93\41\124\45\62\92\42\41\63" (Arbitrary "\78\97\109\101" :. Arbitrary "\86\97\114\105\97\98\108\101")
    ]

root' :: TokenMatcher
root' =
    [ anyOf common'
    , tok "\40\67\65\76\76\92\115\43\40\63\58\66\65\68\73\124\67\85\83\84\79\77\69\82\45\70\85\78\67\84\73\79\78\124\70\85\78\67\84\73\79\78\41\41\40\92\115\43\41\40\92\39\63\92\83\43\92\39\63\41" (ByGroups [(Arbitrary "\75\101\121\119\111\114\100"), (Arbitrary "\84\101\120\116"), (Arbitrary "\78\97\109\101" :. Arbitrary "\70\117\110\99\116\105\111\110")])
    , tok "\40\67\65\76\76\92\115\43\40\63\58\68\73\65\76\79\71\124\83\67\82\69\69\78\124\83\85\66\83\67\82\69\69\78\124\83\69\76\69\67\84\73\79\78\45\83\67\82\69\69\78\124\84\82\65\78\83\65\67\84\73\79\78\124\84\82\65\78\83\70\79\82\77\65\84\73\79\78\41\41\92\98" (Arbitrary "\75\101\121\119\111\114\100")
    , tok "\40\70\79\82\77\124\80\69\82\70\79\82\77\41\40\92\115\43\41\40\91\92\119\95\93\43\41" (ByGroups [(Arbitrary "\75\101\121\119\111\114\100"), (Arbitrary "\84\101\120\116"), (Arbitrary "\78\97\109\101" :. Arbitrary "\70\117\110\99\116\105\111\110")])
    , tok "\40\80\69\82\70\79\82\77\41\40\92\115\43\41\40\92\40\41\40\91\92\119\95\93\43\41\40\92\41\41" (ByGroups [(Arbitrary "\75\101\121\119\111\114\100"), (Arbitrary "\84\101\120\116"), (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110"), (Arbitrary "\78\97\109\101" :. Arbitrary "\86\97\114\105\97\98\108\101"), (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110")])
    , tok "\40\77\79\68\85\76\69\41\40\92\115\43\41\40\92\83\43\41\40\92\115\43\41\40\73\78\80\85\84\124\79\85\84\80\85\84\41" (ByGroups [(Arbitrary "\75\101\121\119\111\114\100"), (Arbitrary "\84\101\120\116"), (Arbitrary "\78\97\109\101" :. Arbitrary "\70\117\110\99\116\105\111\110"), (Arbitrary "\84\101\120\116"), (Arbitrary "\75\101\121\119\111\114\100")])
    , tok "\40\77\69\84\72\79\68\41\40\92\115\43\41\40\91\92\119\95\126\93\43\41" (ByGroups [(Arbitrary "\75\101\121\119\111\114\100"), (Arbitrary "\84\101\120\116"), (Arbitrary "\78\97\109\101" :. Arbitrary "\70\117\110\99\116\105\111\110")])
    , tok "\40\92\115\43\41\40\91\92\119\95\92\45\93\43\41\40\91\61\92\45\93\62\41\40\91\92\119\95\92\45\126\93\43\41" (ByGroups [(Arbitrary "\84\101\120\116"), (Arbitrary "\78\97\109\101" :. Arbitrary "\86\97\114\105\97\98\108\101"), (Arbitrary "\79\112\101\114\97\116\111\114"), (Arbitrary "\78\97\109\101" :. Arbitrary "\70\117\110\99\116\105\111\110")])
    , tok "\40\63\60\61\40\61\124\45\41\62\41\40\91\92\119\95\92\45\126\93\43\41\40\63\61\92\40\41" (Arbitrary "\78\97\109\101" :. Arbitrary "\70\117\110\99\116\105\111\110")
    , tok "\40\65\68\68\45\67\79\82\82\69\83\80\79\78\68\73\78\71\124\65\85\84\72\79\82\73\84\89\45\67\72\69\67\75\124\67\76\65\83\83\45\68\65\84\65\124\67\76\65\83\83\45\69\86\69\78\84\83\124\67\76\65\83\83\45\77\69\84\72\79\68\83\124\67\76\65\83\83\45\80\79\79\76\124\68\69\76\69\84\69\45\65\68\74\65\67\69\78\84\124\68\73\86\73\68\69\45\67\79\82\82\69\83\80\79\78\68\73\78\71\124\69\68\73\84\79\82\45\67\65\76\76\124\69\78\72\65\78\67\69\77\69\78\84\45\80\79\73\78\84\124\69\78\72\65\78\67\69\77\69\78\84\45\83\69\67\84\73\79\78\124\69\88\73\84\45\67\79\77\77\65\78\68\124\70\73\69\76\68\45\71\82\79\85\80\83\124\70\73\69\76\68\45\83\89\77\66\79\76\83\124\70\85\78\67\84\73\79\78\45\80\79\79\76\124\73\78\84\69\82\70\65\67\69\45\80\79\79\76\124\73\78\86\69\82\84\69\68\45\68\65\84\69\124\76\79\65\68\45\79\70\45\80\82\79\71\82\65\77\124\76\79\71\45\80\79\73\78\84\124\77\69\83\83\65\71\69\45\73\68\124\77\79\86\69\45\67\79\82\82\69\83\80\79\78\68\73\78\71\124\77\85\76\84\73\80\76\89\45\67\79\82\82\69\83\80\79\78\68\73\78\71\124\78\69\87\45\76\73\78\69\124\78\69\87\45\80\65\71\69\124\78\69\87\45\83\69\67\84\73\79\78\124\78\79\45\69\88\84\69\78\83\73\79\78\124\79\85\84\80\85\84\45\76\69\78\71\84\72\124\80\82\73\78\84\45\67\79\78\84\82\79\76\124\83\69\76\69\67\84\45\79\80\84\73\79\78\83\124\83\84\65\82\84\45\79\70\45\83\69\76\69\67\84\73\79\78\124\83\85\66\84\82\65\67\84\45\67\79\82\82\69\83\80\79\78\68\73\78\71\124\83\89\78\84\65\88\45\67\72\69\67\75\124\83\89\83\84\69\77\45\69\88\67\69\80\84\73\79\78\83\124\84\89\80\69\45\80\79\79\76\124\84\89\80\69\45\80\79\79\76\83\41\92\98" (Arbitrary "\75\101\121\119\111\114\100")
    , tok "\67\82\69\65\84\69\92\115\43\40\80\85\66\76\73\67\124\80\82\73\86\65\84\69\124\68\65\84\65\124\79\66\74\69\67\84\41\124\40\40\80\85\66\76\73\67\124\80\82\73\86\65\84\69\124\80\82\79\84\69\67\84\69\68\41\92\115\43\83\69\67\84\73\79\78\124\40\84\89\80\69\124\76\73\75\69\41\40\92\115\43\40\76\73\78\69\92\115\43\79\70\124\82\69\70\92\115\43\84\79\124\40\83\79\82\84\69\68\124\83\84\65\78\68\65\82\68\124\72\65\83\72\69\68\41\92\115\43\84\65\66\76\69\92\115\43\79\70\41\41\63\124\70\82\79\77\92\115\43\40\68\65\84\65\66\65\83\69\124\77\69\77\79\82\89\41\124\67\65\76\76\92\115\43\77\69\84\72\79\68\124\40\71\82\79\85\80\124\79\82\68\69\82\41\32\66\89\124\72\65\86\73\78\71\124\83\69\80\65\82\65\84\69\68\32\66\89\124\71\69\84\92\115\43\40\66\65\68\73\124\66\73\84\124\67\85\82\83\79\82\124\68\65\84\65\83\69\84\124\76\79\67\65\76\69\124\80\65\82\65\77\69\84\69\82\124\80\70\45\83\84\65\84\85\83\124\40\80\82\79\80\69\82\84\89\124\82\69\70\69\82\69\78\67\69\41\92\115\43\79\70\124\82\85\78\92\115\43\84\73\77\69\124\84\73\77\69\92\115\43\40\83\84\65\77\80\41\63\41\63\124\83\69\84\92\115\43\40\66\73\84\124\66\76\65\78\75\92\115\43\76\73\78\69\83\124\67\79\85\78\84\82\89\124\67\85\82\83\79\82\124\68\65\84\65\83\69\84\124\69\88\84\69\78\68\69\68\92\115\43\67\72\69\67\75\124\72\65\78\68\76\69\82\124\72\79\76\68\92\115\43\68\65\84\65\124\76\65\78\71\85\65\71\69\124\76\69\70\84\92\115\43\83\67\82\79\76\76\45\66\79\85\78\68\65\82\89\124\76\79\67\65\76\69\124\77\65\82\71\73\78\124\80\65\82\65\77\69\84\69\82\124\80\70\45\83\84\65\84\85\83\124\80\82\79\80\69\82\84\89\92\115\43\79\70\124\82\85\78\92\115\43\84\73\77\69\92\115\43\40\65\78\65\76\89\90\69\82\124\67\76\79\67\75\92\115\43\82\69\83\79\76\85\84\73\79\78\41\124\83\67\82\69\69\78\124\84\73\84\76\69\66\65\82\124\85\80\65\68\84\69\92\115\43\84\65\83\75\92\115\43\76\79\67\65\76\124\85\83\69\82\45\67\79\77\77\65\78\68\41\124\67\79\78\86\69\82\84\92\115\43\40\40\73\78\86\69\82\84\69\68\45\41\63\68\65\84\69\124\84\73\77\69\124\84\73\77\69\92\115\43\83\84\65\77\80\124\84\69\88\84\41\124\40\67\76\79\83\69\124\79\80\69\78\41\92\115\43\40\68\65\84\65\83\69\84\124\67\85\82\83\79\82\41\124\40\84\79\124\70\82\79\77\41\92\115\43\40\68\65\84\65\32\66\85\70\70\69\82\124\73\78\84\69\82\78\65\76\32\84\65\66\76\69\124\77\69\77\79\82\89\32\73\68\124\68\65\84\65\66\65\83\69\124\83\72\65\82\69\68\92\115\43\40\77\69\77\79\82\89\124\66\85\70\70\69\82\41\41\124\68\69\83\67\82\73\66\69\92\115\43\40\68\73\83\84\65\78\67\69\92\115\43\66\69\84\87\69\69\78\124\70\73\69\76\68\124\76\73\83\84\124\84\65\66\76\69\41\124\70\82\69\69\92\115\40\77\69\77\79\82\89\124\79\66\74\69\67\84\41\63\124\80\82\79\67\69\83\83\92\115\43\40\66\69\70\79\82\69\92\115\43\79\85\84\80\85\84\124\65\70\84\69\82\92\115\43\73\78\80\85\84\124\79\78\92\115\43\40\86\65\76\85\69\45\82\69\81\85\69\83\84\124\72\69\76\80\45\82\69\81\85\69\83\84\41\41\124\65\84\92\115\43\40\76\73\78\69\45\83\69\76\69\67\84\73\79\78\124\85\83\69\82\45\67\79\77\77\65\78\68\124\69\78\68\92\115\43\79\70\124\78\69\87\41\124\65\84\92\115\43\83\69\76\69\67\84\73\79\78\45\83\67\82\69\69\78\40\92\115\43\40\79\78\40\92\115\43\40\66\76\79\67\75\124\40\72\69\76\80\124\86\65\76\85\69\41\45\82\69\81\85\69\83\84\92\115\43\70\79\82\124\69\78\68\92\115\43\79\70\124\82\65\68\73\79\66\85\84\84\79\78\92\115\43\71\82\79\85\80\41\41\63\124\79\85\84\80\85\84\41\41\63\124\83\69\76\69\67\84\73\79\78\45\83\67\82\69\69\78\58\63\92\115\43\40\40\66\69\71\73\78\124\69\78\68\41\92\115\43\79\70\92\115\43\40\40\84\65\66\66\69\68\92\115\43\41\63\66\76\79\67\75\124\76\73\78\69\124\83\67\82\69\69\78\41\124\67\79\77\77\69\78\84\124\70\85\78\67\84\73\79\78\92\115\43\75\69\89\124\73\78\67\76\85\68\69\92\115\43\66\76\79\67\75\83\124\80\79\83\73\84\73\79\78\124\80\85\83\72\66\85\84\84\79\78\124\83\75\73\80\124\85\76\73\78\69\41\124\76\69\65\86\69\92\115\43\40\76\73\83\84\45\80\82\79\67\69\83\83\73\78\71\124\80\82\79\71\82\65\77\124\83\67\82\69\69\78\124\84\79\32\76\73\83\84\45\80\82\79\67\69\83\83\73\78\71\124\84\79\32\84\82\65\78\83\65\67\84\73\79\78\41\40\69\78\68\73\78\71\124\83\84\65\82\84\73\78\71\41\92\115\43\65\84\124\70\79\82\77\65\84\92\115\43\40\67\79\76\79\82\124\73\78\84\69\78\83\73\70\73\69\68\124\73\78\86\69\82\83\69\124\72\79\84\83\80\79\84\124\73\78\80\85\84\124\70\82\65\77\69\83\124\82\69\83\69\84\41\124\65\83\92\115\43\40\67\72\69\67\75\66\79\88\124\83\85\66\83\67\82\69\69\78\124\87\73\78\68\79\87\41\124\87\73\84\72\92\115\43\40\40\40\78\79\78\45\41\63\85\78\73\81\85\69\41\63\92\115\43\75\69\89\124\70\82\65\77\69\41\124\40\66\69\71\73\78\124\69\78\68\41\92\115\43\79\70\124\68\69\76\69\84\69\40\92\115\43\65\68\74\65\67\69\78\84\92\115\43\68\85\80\76\73\67\65\84\69\83\92\115\70\82\79\77\41\63\124\67\79\77\80\65\82\73\78\71\40\92\115\43\65\76\76\92\115\43\70\73\69\76\68\83\41\63\124\73\78\83\69\82\84\40\92\115\43\73\78\73\84\73\65\76\92\115\43\76\73\78\69\92\115\43\73\78\84\79\124\92\115\43\76\73\78\69\83\92\115\43\79\70\41\63\124\73\78\92\115\43\40\40\66\89\84\69\124\67\72\65\82\65\67\84\69\82\41\92\115\43\77\79\68\69\124\80\82\79\71\82\65\77\41\124\69\78\68\45\79\70\45\40\68\69\70\73\78\73\84\73\79\78\124\80\65\71\69\124\83\69\76\69\67\84\73\79\78\41\124\87\73\84\72\92\115\43\70\82\65\77\69\40\92\115\43\84\73\84\76\69\41\124\65\78\68\92\115\43\40\77\65\82\75\124\82\69\84\85\82\78\41\124\67\76\73\69\78\84\92\115\43\83\80\69\67\73\70\73\69\68\124\67\79\82\82\69\83\80\79\78\68\73\78\71\92\115\43\70\73\69\76\68\83\92\115\43\79\70\124\73\70\92\115\43\70\79\85\78\68\124\70\79\82\92\115\43\69\86\69\78\84\124\73\78\72\69\82\73\84\73\78\71\92\115\43\70\82\79\77\124\76\69\65\86\69\92\115\43\84\79\92\115\43\83\67\82\69\69\78\124\76\79\79\80\92\115\43\65\84\92\115\43\40\83\67\82\69\69\78\41\63\124\76\79\87\69\82\92\115\43\67\65\83\69\124\77\65\84\67\72\67\79\68\69\92\115\43\79\66\74\69\67\84\124\77\79\68\73\70\92\115\43\73\68\124\77\79\68\73\70\89\92\115\43\83\67\82\69\69\78\124\78\69\83\84\73\78\71\92\115\43\76\69\86\69\76\124\78\79\92\115\43\73\78\84\69\82\86\65\76\83\124\79\70\92\115\43\83\84\82\85\67\84\85\82\69\124\82\65\68\73\79\66\85\84\84\79\78\92\115\43\71\82\79\85\80\124\82\65\78\71\69\92\115\43\79\70\124\82\69\70\92\115\43\84\79\124\83\85\80\80\82\69\83\83\32\68\73\65\76\79\71\124\84\65\66\76\69\92\115\43\79\70\124\85\80\80\69\82\92\115\43\67\65\83\69\124\84\82\65\78\83\80\79\82\84\73\78\71\92\115\43\78\79\92\115\43\70\73\69\76\68\83\124\86\65\76\85\69\92\115\43\67\72\69\67\75\124\86\73\83\73\66\76\69\92\115\43\76\69\78\71\84\72\124\72\69\65\68\69\82\92\115\43\76\73\78\69\41\92\98" (Arbitrary "\75\101\121\119\111\114\100")
    , tok "\40\94\124\40\63\60\61\40\92\115\124\92\46\41\41\41\40\65\66\66\82\69\86\73\65\84\69\68\124\65\68\68\124\65\76\73\65\83\69\83\124\65\80\80\69\78\68\124\65\83\83\69\82\84\124\65\83\83\73\71\78\40\73\78\71\41\63\124\65\84\40\92\115\43\70\73\82\83\84\41\63\124\66\65\67\75\124\66\76\79\67\75\124\66\82\69\65\75\45\80\79\73\78\84\124\67\65\83\69\124\67\65\84\67\72\124\67\72\65\78\71\73\78\71\124\67\72\69\67\75\124\67\76\65\83\83\124\67\76\69\65\82\124\67\79\76\76\69\67\84\124\67\79\76\79\82\124\67\79\77\77\73\84\124\67\82\69\65\84\69\124\67\79\77\77\85\78\73\67\65\84\73\79\78\124\67\79\77\80\79\78\69\78\84\83\63\124\67\79\77\80\85\84\69\124\67\79\78\67\65\84\69\78\65\84\69\124\67\79\78\68\69\78\83\69\124\67\79\78\83\84\65\78\84\83\124\67\79\78\84\69\88\84\83\124\67\79\78\84\73\78\85\69\124\67\79\78\84\82\79\76\83\124\68\65\84\65\124\68\69\67\73\77\65\76\83\124\68\69\70\65\85\76\84\124\68\69\70\73\78\69\124\68\69\70\73\78\73\84\73\79\78\124\68\69\70\69\82\82\69\68\124\68\69\77\65\78\68\124\68\69\84\65\73\76\124\68\73\82\69\67\84\79\82\89\124\68\73\86\73\68\69\124\68\79\124\69\76\83\69\40\73\70\41\63\124\69\78\68\65\84\124\69\78\68\67\65\83\69\124\69\78\68\67\76\65\83\83\124\69\78\68\68\79\124\69\78\68\70\79\82\77\124\69\78\68\70\85\78\67\84\73\79\78\124\69\78\68\73\70\124\69\78\68\76\79\79\80\124\69\78\68\77\69\84\72\79\68\124\69\78\68\77\79\68\85\76\69\124\69\78\68\83\69\76\69\67\84\124\69\78\68\84\82\89\124\69\78\72\65\78\67\69\77\69\78\84\124\69\86\69\78\84\83\124\69\88\67\69\80\84\73\79\78\83\124\69\88\73\84\124\69\88\80\79\82\84\124\69\88\80\79\82\84\73\78\71\124\69\88\84\82\65\67\84\124\70\69\84\67\72\124\70\73\69\76\68\83\63\124\70\73\78\68\124\70\79\82\124\70\79\82\77\124\70\79\82\77\65\84\124\70\82\69\69\124\70\82\79\77\124\72\73\68\69\124\73\68\124\73\70\124\73\77\80\79\82\84\124\73\77\80\76\69\77\69\78\84\65\84\73\79\78\124\73\77\80\79\82\84\73\78\71\124\73\78\124\73\78\67\76\85\68\69\124\73\78\67\76\85\68\73\78\71\124\73\78\68\69\88\124\73\78\70\79\84\89\80\69\83\124\73\78\73\84\73\65\76\73\90\65\84\73\79\78\124\73\78\84\69\82\70\65\67\69\124\73\78\84\69\82\70\65\67\69\83\124\73\78\84\79\124\76\69\78\71\84\72\124\76\73\78\69\83\124\76\79\65\68\124\76\79\67\65\76\124\74\79\73\78\124\75\69\89\124\77\65\88\73\77\85\77\124\77\69\83\83\65\71\69\124\77\69\84\72\79\68\91\83\93\63\124\77\73\78\73\77\85\77\124\77\79\68\85\76\69\124\77\79\68\73\70\89\124\77\79\86\69\124\77\85\76\84\73\80\76\89\124\78\79\68\69\83\124\79\66\76\73\71\65\84\79\82\89\124\79\70\124\79\70\70\124\79\78\124\79\86\69\82\76\65\89\124\80\65\67\75\124\80\65\82\65\77\69\84\69\82\83\124\80\69\82\67\69\78\84\65\71\69\124\80\79\83\73\84\73\79\78\124\80\82\79\71\82\65\77\124\80\82\79\86\73\68\69\124\80\85\66\76\73\67\124\80\85\84\124\82\65\73\83\69\124\82\65\73\83\73\78\71\124\82\65\78\71\69\83\124\82\69\65\68\124\82\69\67\69\73\86\69\124\82\69\70\82\69\83\72\124\82\69\74\69\67\84\124\82\69\80\79\82\84\124\82\69\83\69\82\86\69\124\82\69\83\85\77\69\124\82\69\84\82\89\124\82\69\84\85\82\78\124\82\69\84\85\82\78\73\78\71\124\82\73\71\72\84\124\82\79\76\76\66\65\67\75\124\83\67\82\79\76\76\124\83\69\65\82\67\72\124\83\69\76\69\67\84\124\83\72\73\70\84\124\83\73\78\71\76\69\124\83\75\73\80\124\83\79\82\84\124\83\80\76\73\84\124\83\84\65\84\73\67\83\124\83\84\79\80\124\83\85\66\77\73\84\124\83\85\66\84\82\65\67\84\124\83\85\77\124\83\85\77\77\65\82\89\124\83\85\77\77\73\78\71\124\83\85\80\80\76\89\124\84\65\66\76\69\124\84\65\66\76\69\83\124\84\73\77\69\83\124\84\73\84\76\69\124\84\79\124\84\79\80\45\79\70\45\80\65\71\69\124\84\82\65\78\83\70\69\82\124\84\82\65\78\83\76\65\84\69\124\84\82\89\124\84\89\80\69\83\124\85\76\73\78\69\124\85\78\68\69\82\124\85\78\80\65\67\75\124\85\80\68\65\84\69\124\85\83\73\78\71\124\86\65\76\85\69\124\86\65\76\85\69\83\124\86\73\65\124\87\65\73\84\124\87\72\69\78\124\87\72\69\82\69\124\87\72\73\76\69\124\87\73\84\72\124\87\73\78\68\79\87\124\87\82\73\84\69\41\92\98" (Arbitrary "\75\101\121\119\111\114\100")
    , tok "\40\97\98\115\124\97\99\111\115\124\97\115\105\110\124\97\116\97\110\124\98\111\111\108\99\124\98\111\111\108\120\124\98\105\116\95\115\101\116\124\99\104\97\114\95\111\102\102\124\99\104\97\114\108\101\110\124\99\101\105\108\124\99\109\97\120\124\99\109\105\110\124\99\111\110\100\101\110\115\101\124\99\111\110\116\97\105\110\115\124\99\111\110\116\97\105\110\115\95\97\110\121\95\111\102\124\99\111\110\116\97\105\110\115\95\97\110\121\95\110\111\116\95\111\102\124\99\111\110\99\97\116\95\108\105\110\101\115\95\111\102\124\99\111\115\124\99\111\115\104\124\99\111\117\110\116\124\99\111\117\110\116\95\97\110\121\95\111\102\124\99\111\117\110\116\95\97\110\121\95\110\111\116\95\111\102\124\100\98\109\97\120\108\101\110\124\100\105\115\116\97\110\99\101\124\101\115\99\97\112\101\124\101\120\112\124\102\105\110\100\124\102\105\110\100\95\101\110\100\124\102\105\110\100\95\97\110\121\95\111\102\124\102\105\110\100\95\97\110\121\95\110\111\116\95\111\102\124\102\108\111\111\114\124\102\114\97\99\124\102\114\111\109\95\109\105\120\101\100\124\105\110\115\101\114\116\124\108\105\110\101\115\124\108\111\103\124\108\111\103\49\48\124\109\97\116\99\104\124\109\97\116\99\104\101\115\124\110\109\97\120\124\110\109\105\110\124\110\117\109\111\102\99\104\97\114\124\114\101\112\101\97\116\124\114\101\112\108\97\99\101\124\114\101\115\99\97\108\101\124\114\101\118\101\114\115\101\124\114\111\117\110\100\124\115\101\103\109\101\110\116\124\115\104\105\102\116\95\108\101\102\116\124\115\104\105\102\116\95\114\105\103\104\116\124\115\105\103\110\124\115\105\110\124\115\105\110\104\124\115\113\114\116\124\115\116\114\108\101\110\124\115\117\98\115\116\114\105\110\103\124\115\117\98\115\116\114\105\110\103\95\97\102\116\101\114\124\115\117\98\115\116\114\105\110\103\95\102\114\111\109\124\115\117\98\115\116\114\105\110\103\95\98\101\102\111\114\101\124\115\117\98\115\116\114\105\110\103\95\116\111\124\116\97\110\124\116\97\110\104\124\116\111\95\117\112\112\101\114\124\116\111\95\108\111\119\101\114\124\116\111\95\109\105\120\101\100\124\116\114\97\110\115\108\97\116\101\124\116\114\117\110\99\124\120\115\116\114\108\101\110\41\40\92\40\41\92\98" (ByGroups [(Arbitrary "\78\97\109\101" :. Arbitrary "\66\117\105\108\116\105\110"), (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110")])
    , tok "\38\91\48\45\57\93" (Arbitrary "\78\97\109\101")
    , tok "\91\48\45\57\93\43" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\78\117\109\98\101\114" :. Arbitrary "\73\110\116\101\103\101\114")
    , tok "\40\63\60\61\40\92\115\124\46\41\41\40\65\78\68\124\69\81\124\78\69\124\71\84\124\76\84\124\71\69\124\76\69\124\67\79\124\67\78\124\67\65\124\78\65\124\67\83\124\78\79\84\124\78\83\124\67\80\124\78\80\124\66\89\84\69\45\67\79\124\66\89\84\69\45\67\78\124\66\89\84\69\45\67\65\124\66\89\84\69\45\78\65\124\66\89\84\69\45\67\83\124\66\89\84\69\45\78\83\124\73\83\92\115\43\40\78\79\84\92\115\43\41\63\40\73\78\73\84\73\65\76\124\65\83\83\73\71\78\69\68\124\82\69\81\85\69\83\84\69\68\124\66\79\85\78\68\41\41\92\98" (Arbitrary "\79\112\101\114\97\116\111\114")
    , anyOf variableNames'
    , tok "\91\63\42\60\62\61\92\45\43\93" (Arbitrary "\79\112\101\114\97\116\111\114")
    , tok "\39\40\39\39\124\91\94\39\93\41\42\39" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\83\105\110\103\108\101")
    , tok "\91\47\59\58\40\41\92\91\92\93\44\92\46\93" (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110")
    ]

common' :: TokenMatcher
common' =
    [ tok "\92\115\43" (Arbitrary "\84\101\120\116")
    , tok "\94\92\42\46\42\36" (Arbitrary "\67\111\109\109\101\110\116" :. Arbitrary "\83\105\110\103\108\101")
    , tok "\92\34\46\42\63\92\110" (Arbitrary "\67\111\109\109\101\110\116" :. Arbitrary "\83\105\110\103\108\101")
    ]