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

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

lexer :: Lexer
lexer = Lexer
    { lName = "\80\101\114\108"
    , lAliases = ["\112\101\114\108", "\112\108"]
    , lExtensions = ["\46\112\108", "\46\112\109"]
    , lMimetypes = ["\116\101\120\116\47\120\45\112\101\114\108", "\97\112\112\108\105\99\97\116\105\111\110\47\120\45\112\101\114\108"]
    , lStart = root'
    , lFlags = [multiline, dotall]
    }

modulename' :: TokenMatcher
modulename' =
    [ tokNext "\91\97\45\122\65\45\90\95\93\91\92\119\95\93\42" (Arbitrary "\78\97\109\101" :. Arbitrary "\78\97\109\101\115\112\97\99\101") Pop
    ]

format' :: TokenMatcher
format' =
    [ tokNext "\92\46\92\110" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\73\110\116\101\114\112\111\108") Pop
    , tok "\91\94\92\110\93\42\92\110" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\73\110\116\101\114\112\111\108")
    ]

rbString' :: TokenMatcher
rbString' =
    [ tok "\92\92\91\92\40\92\41\92\92\93" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\79\116\104\101\114")
    , tok "\92\92" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\79\116\104\101\114")
    , tokNext "\92\40" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\79\116\104\101\114") (GoTo rbString')
    , tokNext "\92\41" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\79\116\104\101\114") Pop
    , tok "\91\94\92\40\92\41\93\43" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\79\116\104\101\114")
    ]

balancedRegex' :: TokenMatcher
balancedRegex' =
    [ tokNext "\47\40\92\92\92\92\124\92\92\47\124\91\94\47\93\41\42\47\91\101\103\105\109\111\115\120\93\42" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\82\101\103\101\120") Pop
    , tokNext "\33\40\92\92\92\92\124\92\92\33\124\91\94\33\93\41\42\33\91\101\103\105\109\111\115\120\93\42" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\82\101\103\101\120") Pop
    , tokNext "\92\92\40\92\92\92\92\124\91\94\92\92\93\41\42\92\92\91\101\103\105\109\111\115\120\93\42" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\82\101\103\101\120") Pop
    , tokNext "\123\40\92\92\92\92\124\92\92\125\124\91\94\125\93\41\42\125\91\101\103\105\109\111\115\120\93\42" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\82\101\103\101\120") Pop
    , tokNext "\60\40\92\92\92\92\124\92\92\62\124\91\94\62\93\41\42\62\91\101\103\105\109\111\115\120\93\42" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\82\101\103\101\120") Pop
    , tokNext "\92\91\40\92\92\92\92\124\92\92\92\93\124\91\94\92\93\93\41\42\92\93\91\101\103\105\109\111\115\120\93\42" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\82\101\103\101\120") Pop
    , tokNext "\92\40\40\92\92\92\92\124\92\92\92\41\124\91\94\92\41\93\41\42\92\41\91\101\103\105\109\111\115\120\93\42" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\82\101\103\101\120") Pop
    , tokNext "\64\40\92\92\92\92\124\92\92\92\64\124\91\94\92\64\93\41\42\64\91\101\103\105\109\111\115\120\93\42" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\82\101\103\101\120") Pop
    , tokNext "\37\40\92\92\92\92\124\92\92\92\37\124\91\94\92\37\93\41\42\37\91\101\103\105\109\111\115\120\93\42" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\82\101\103\101\120") Pop
    , tokNext "\92\36\40\92\92\92\92\124\92\92\92\36\124\91\94\92\36\93\41\42\92\36\91\101\103\105\109\111\115\120\93\42" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\82\101\103\101\120") Pop
    ]

name' :: TokenMatcher
name' =
    [ tok "\91\97\45\122\65\45\90\48\45\57\95\93\43\58\58" (Arbitrary "\78\97\109\101" :. Arbitrary "\78\97\109\101\115\112\97\99\101")
    , tokNext "\91\97\45\122\65\45\90\48\45\57\95\58\93\43" (Arbitrary "\78\97\109\101") Pop
    , tokNext "\91\65\45\90\95\93\43\40\63\61\91\94\97\45\122\65\45\90\48\45\57\95\93\41" (Arbitrary "\78\97\109\101" :. Arbitrary "\67\111\110\115\116\97\110\116") Pop
    , tokNext "\40\63\61\91\94\97\45\122\65\45\90\48\45\57\95\93\41" (Arbitrary "\84\101\120\116") Pop
    ]

varname' :: TokenMatcher
varname' =
    [ tok "\92\115\43" (Arbitrary "\84\101\120\116")
    , tokNext "\92\123" (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110") Pop
    , tokNext "\92\41\124\44" (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110") Pop
    , tok "\91\97\45\122\65\45\90\48\45\57\95\93\43\58\58" (Arbitrary "\78\97\109\101" :. Arbitrary "\78\97\109\101\115\112\97\99\101")
    , tokNext "\91\97\45\122\65\45\90\48\45\57\95\58\93\43" (Arbitrary "\78\97\109\101" :. Arbitrary "\86\97\114\105\97\98\108\101") Pop
    ]

endPart' :: TokenMatcher
endPart' =
    [ tokNext "\46\43" (Arbitrary "\67\111\109\109\101\110\116" :. Arbitrary "\80\114\101\112\114\111\99") Pop
    ]

sbString' :: TokenMatcher
sbString' =
    [ tok "\92\92\91\92\91\92\93\92\92\93" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\79\116\104\101\114")
    , tok "\92\92" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\79\116\104\101\114")
    , tokNext "\92\91" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\79\116\104\101\114") (GoTo sbString')
    , tokNext "\92\93" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\79\116\104\101\114") Pop
    , tok "\91\94\92\91\92\93\93\43" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\79\116\104\101\114")
    ]

funcname' :: TokenMatcher
funcname' =
    [ tok "\91\97\45\122\65\45\90\95\93\91\92\119\95\93\42\91\92\33\92\63\93\63" (Arbitrary "\78\97\109\101" :. Arbitrary "\70\117\110\99\116\105\111\110")
    , tok "\92\115\43" (Arbitrary "\84\101\120\116")
    , tok "\40\92\40\91\36\64\37\93\42\92\41\41\40\92\115\42\41" (ByGroups [(Arbitrary "\80\117\110\99\116\117\97\116\105\111\110"), (Arbitrary "\84\101\120\116")])
    , tokNext "\46\42\63\123" (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110") Pop
    , tokNext "\59" (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110") Pop
    ]

root' :: TokenMatcher
root' =
    [ tok "\92\35\46\42\63\36" (Arbitrary "\67\111\109\109\101\110\116" :. Arbitrary "\83\105\110\103\108\101")
    , tok "\94\61\91\97\45\122\65\45\90\48\45\57\93\43\92\115\43\46\42\63\92\110\61\99\117\116" (Arbitrary "\67\111\109\109\101\110\116" :. Arbitrary "\77\117\108\116\105\108\105\110\101")
    , tok "\40\99\97\115\101\124\99\111\110\116\105\110\117\101\124\100\111\124\101\108\115\101\124\101\108\115\105\102\124\102\111\114\124\102\111\114\101\97\99\104\124\105\102\124\108\97\115\116\124\109\121\124\110\101\120\116\124\111\117\114\124\114\101\100\111\124\114\101\115\101\116\124\116\104\101\110\124\117\110\108\101\115\115\124\117\110\116\105\108\124\119\104\105\108\101\124\117\115\101\124\112\114\105\110\116\124\110\101\119\124\66\69\71\73\78\124\69\78\68\124\114\101\116\117\114\110\41\92\98" (Arbitrary "\75\101\121\119\111\114\100")
    , tokNext "\40\102\111\114\109\97\116\41\40\92\115\43\41\40\91\97\45\122\65\45\90\48\45\57\95\93\43\41\40\92\115\42\41\40\61\41\40\92\115\42\92\110\41" (ByGroups [(Arbitrary "\75\101\121\119\111\114\100"), (Arbitrary "\84\101\120\116"), (Arbitrary "\78\97\109\101"), (Arbitrary "\84\101\120\116"), (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110"), (Arbitrary "\84\101\120\116")]) (GoTo format')
    , tok "\40\101\113\124\108\116\124\103\116\124\108\101\124\103\101\124\110\101\124\110\111\116\124\97\110\100\124\111\114\124\99\109\112\41\92\98" (Arbitrary "\79\112\101\114\97\116\111\114" :. Arbitrary "\87\111\114\100")
    , tok "\115\47\40\92\92\92\92\124\92\92\47\124\91\94\47\93\41\42\47\40\92\92\92\92\124\92\92\47\124\91\94\47\93\41\42\47\91\101\103\105\109\111\115\120\93\42" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\82\101\103\101\120")
    , tok "\115\33\40\92\92\92\92\124\92\92\33\124\91\94\33\93\41\42\33\40\92\92\92\92\124\92\92\33\124\91\94\33\93\41\42\33\91\101\103\105\109\111\115\120\93\42" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\82\101\103\101\120")
    , tok "\115\92\92\40\92\92\92\92\124\91\94\92\92\93\41\42\92\92\40\92\92\92\92\124\91\94\92\92\93\41\42\92\92\91\101\103\105\109\111\115\120\93\42" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\82\101\103\101\120")
    , tok "\115\64\40\92\92\92\92\124\92\92\64\124\91\94\64\93\41\42\64\40\92\92\92\92\124\92\92\64\124\91\94\64\93\41\42\64\91\101\103\105\109\111\115\120\93\42" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\82\101\103\101\120")
    , tok "\115\37\40\92\92\92\92\124\92\92\37\124\91\94\37\93\41\42\37\40\92\92\92\92\124\92\92\37\124\91\94\37\93\41\42\37\91\101\103\105\109\111\115\120\93\42" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\82\101\103\101\120")
    , tokNext "\115\123\40\92\92\92\92\124\92\92\125\124\91\94\125\93\41\42\125\92\115\42" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\82\101\103\101\120") (GoTo balancedRegex')
    , tokNext "\115\60\40\92\92\92\92\124\92\92\62\124\91\94\62\93\41\42\62\92\115\42" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\82\101\103\101\120") (GoTo balancedRegex')
    , tokNext "\115\92\91\40\92\92\92\92\124\92\92\92\93\124\91\94\92\93\93\41\42\92\93\92\115\42" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\82\101\103\101\120") (GoTo balancedRegex')
    , tokNext "\115\92\40\40\92\92\92\92\124\92\92\92\41\124\91\94\92\41\93\41\42\92\41\92\115\42" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\82\101\103\101\120") (GoTo balancedRegex')
    , tok "\109\63\47\40\92\92\92\92\124\92\92\47\124\91\94\47\92\110\93\41\42\47\91\103\99\105\109\111\115\120\93\42" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\82\101\103\101\120")
    , tokNext "\109\40\63\61\91\47\33\92\92\123\60\92\91\92\40\64\37\92\36\93\41" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\82\101\103\101\120") (GoTo balancedRegex')
    , tok "\40\40\63\60\61\61\126\41\124\40\63\60\61\92\40\41\41\92\115\42\47\40\92\92\92\92\124\92\92\47\124\91\94\47\93\41\42\47\91\103\99\105\109\111\115\120\93\42" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\82\101\103\101\120")
    , tok "\92\115\43" (Arbitrary "\84\101\120\116")
    , tok "\40\97\98\115\124\97\99\99\101\112\116\124\97\108\97\114\109\124\97\116\97\110\50\124\98\105\110\100\124\98\105\110\109\111\100\101\124\98\108\101\115\115\124\99\97\108\108\101\114\124\99\104\100\105\114\124\99\104\109\111\100\124\99\104\111\109\112\124\99\104\111\112\124\99\104\111\119\110\124\99\104\114\124\99\104\114\111\111\116\124\99\108\111\115\101\124\99\108\111\115\101\100\105\114\124\99\111\110\110\101\99\116\124\99\111\110\116\105\110\117\101\124\99\111\115\124\99\114\121\112\116\124\100\98\109\99\108\111\115\101\124\100\98\109\111\112\101\110\124\100\101\102\105\110\101\100\124\100\101\108\101\116\101\124\100\105\101\124\100\117\109\112\124\101\97\99\104\124\101\110\100\103\114\101\110\116\124\101\110\100\104\111\115\116\101\110\116\124\101\110\100\110\101\116\101\110\116\124\101\110\100\112\114\111\116\111\101\110\116\124\101\110\100\112\119\101\110\116\124\101\110\100\115\101\114\118\101\110\116\124\101\111\102\124\101\118\97\108\124\101\120\101\99\124\101\120\105\115\116\115\124\101\120\105\116\124\101\120\112\124\102\99\110\116\108\124\102\105\108\101\110\111\124\102\108\111\99\107\124\102\111\114\107\124\102\111\114\109\97\116\124\102\111\114\109\108\105\110\101\124\103\101\116\99\124\103\101\116\103\114\101\110\116\124\103\101\116\103\114\103\105\100\124\103\101\116\103\114\110\97\109\124\103\101\116\104\111\115\116\98\121\97\100\100\114\124\103\101\116\104\111\115\116\98\121\110\97\109\101\124\103\101\116\104\111\115\116\101\110\116\124\103\101\116\108\111\103\105\110\124\103\101\116\110\101\116\98\121\97\100\100\114\124\103\101\116\110\101\116\98\121\110\97\109\101\124\103\101\116\110\101\116\101\110\116\124\103\101\116\112\101\101\114\110\97\109\101\124\103\101\116\112\103\114\112\124\103\101\116\112\112\105\100\124\103\101\116\112\114\105\111\114\105\116\121\124\103\101\116\112\114\111\116\111\98\121\110\97\109\101\124\103\101\116\112\114\111\116\111\98\121\110\117\109\98\101\114\124\103\101\116\112\114\111\116\111\101\110\116\124\103\101\116\112\119\101\110\116\124\103\101\116\112\119\110\97\109\124\103\101\116\112\119\117\105\100\124\103\101\116\115\101\114\118\98\121\110\97\109\101\124\103\101\116\115\101\114\118\98\121\112\111\114\116\124\103\101\116\115\101\114\118\101\110\116\124\103\101\116\115\111\99\107\110\97\109\101\124\103\101\116\115\111\99\107\111\112\116\124\103\108\111\98\124\103\109\116\105\109\101\124\103\111\116\111\124\103\114\101\112\124\104\101\120\124\105\109\112\111\114\116\124\105\110\100\101\120\124\105\110\116\124\105\111\99\116\108\124\106\111\105\110\124\107\101\121\115\124\107\105\108\108\124\108\97\115\116\124\108\99\124\108\99\102\105\114\115\116\124\108\101\110\103\116\104\124\108\105\110\107\124\108\105\115\116\101\110\124\108\111\99\97\108\124\108\111\99\97\108\116\105\109\101\124\108\111\103\124\108\115\116\97\116\124\109\97\112\124\109\107\100\105\114\124\109\115\103\99\116\108\124\109\115\103\103\101\116\124\109\115\103\114\99\118\124\109\115\103\115\110\100\124\109\121\124\110\101\120\116\124\110\111\124\111\99\116\124\111\112\101\110\124\111\112\101\110\100\105\114\124\111\114\100\124\111\117\114\124\112\97\99\107\124\112\97\99\107\97\103\101\124\112\105\112\101\124\112\111\112\124\112\111\115\124\112\114\105\110\116\102\124\112\114\111\116\111\116\121\112\101\124\112\117\115\104\124\113\117\111\116\101\109\101\116\97\124\114\97\110\100\124\114\101\97\100\124\114\101\97\100\100\105\114\124\114\101\97\100\108\105\110\101\124\114\101\97\100\108\105\110\107\124\114\101\97\100\112\105\112\101\124\114\101\99\118\124\114\101\100\111\124\114\101\102\124\114\101\110\97\109\101\124\114\101\113\117\105\114\101\124\114\101\118\101\114\115\101\124\114\101\119\105\110\100\100\105\114\124\114\105\110\100\101\120\124\114\109\100\105\114\124\115\99\97\108\97\114\124\115\101\101\107\124\115\101\101\107\100\105\114\124\115\101\108\101\99\116\124\115\101\109\99\116\108\124\115\101\109\103\101\116\124\115\101\109\111\112\124\115\101\110\100\124\115\101\116\103\114\101\110\116\124\115\101\116\104\111\115\116\101\110\116\124\115\101\116\110\101\116\101\110\116\124\115\101\116\112\103\114\112\124\115\101\116\112\114\105\111\114\105\116\121\124\115\101\116\112\114\111\116\111\101\110\116\124\115\101\116\112\119\101\110\116\124\115\101\116\115\101\114\118\101\110\116\124\115\101\116\115\111\99\107\111\112\116\124\115\104\105\102\116\124\115\104\109\99\116\108\124\115\104\109\103\101\116\124\115\104\109\114\101\97\100\124\115\104\109\119\114\105\116\101\124\115\104\117\116\100\111\119\110\124\115\105\110\124\115\108\101\101\112\124\115\111\99\107\101\116\124\115\111\99\107\101\116\112\97\105\114\124\115\111\114\116\124\115\112\108\105\99\101\124\115\112\108\105\116\124\115\112\114\105\110\116\102\124\115\113\114\116\124\115\114\97\110\100\124\115\116\97\116\124\115\116\117\100\121\124\115\117\98\115\116\114\124\115\121\109\108\105\110\107\124\115\121\115\99\97\108\108\124\115\121\115\111\112\101\110\124\115\121\115\114\101\97\100\124\115\121\115\115\101\101\107\124\115\121\115\116\101\109\124\115\121\115\119\114\105\116\101\124\116\101\108\108\124\116\101\108\108\100\105\114\124\116\105\101\124\116\105\101\100\124\116\105\109\101\124\116\105\109\101\115\124\116\114\124\116\114\117\110\99\97\116\101\124\117\99\124\117\99\102\105\114\115\116\124\117\109\97\115\107\124\117\110\100\101\102\124\117\110\108\105\110\107\124\117\110\112\97\99\107\124\117\110\115\104\105\102\116\124\117\110\116\105\101\124\117\116\105\109\101\124\118\97\108\117\101\115\124\118\101\99\124\119\97\105\116\124\119\97\105\116\112\105\100\124\119\97\110\116\97\114\114\97\121\124\119\97\114\110\124\119\114\105\116\101\41\92\98" (Arbitrary "\78\97\109\101" :. Arbitrary "\66\117\105\108\116\105\110")
    , tok "\40\40\95\95\40\68\65\84\65\124\68\73\69\124\87\65\82\78\41\95\95\41\124\40\83\84\68\40\73\78\124\79\85\84\124\69\82\82\41\41\41\92\98" (Arbitrary "\78\97\109\101" :. Arbitrary "\66\117\105\108\116\105\110" :. Arbitrary "\80\115\101\117\100\111")
    , tok "\60\60\40\91\92\39\34\93\63\41\40\91\97\45\122\65\45\90\95\93\91\97\45\122\65\45\90\48\45\57\95\93\42\41\92\49\59\63\92\110\46\42\63\92\110\92\50\92\110" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103")
    , tokNext "\95\95\69\78\68\95\95" (Arbitrary "\67\111\109\109\101\110\116" :. Arbitrary "\80\114\101\112\114\111\99") (GoTo endPart')
    , tok "\92\36\92\94\91\65\68\69\70\72\73\76\77\79\80\83\84\87\88\93" (Arbitrary "\78\97\109\101" :. Arbitrary "\86\97\114\105\97\98\108\101" :. Arbitrary "\71\108\111\98\97\108")
    , tok "\92\36\91\92\92\92\34\92\91\92\93\39\38\96\43\42\46\44\59\61\37\126\63\64\36\33\60\62\40\94\124\47\45\93\40\63\33\92\119\41" (Arbitrary "\78\97\109\101" :. Arbitrary "\86\97\114\105\97\98\108\101" :. Arbitrary "\71\108\111\98\97\108")
    , tokNext "\91\36\64\37\35\93\43" (Arbitrary "\78\97\109\101" :. Arbitrary "\86\97\114\105\97\98\108\101") (GoTo varname')
    , tok "\48\95\63\91\48\45\55\93\43\40\95\91\48\45\55\93\43\41\42" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\78\117\109\98\101\114" :. Arbitrary "\79\99\116")
    , tok "\48\120\91\48\45\57\65\45\70\97\45\102\93\43\40\95\91\48\45\57\65\45\70\97\45\102\93\43\41\42" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\78\117\109\98\101\114" :. Arbitrary "\72\101\120")
    , tok "\48\98\91\48\49\93\43\40\95\91\48\49\93\43\41\42" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\78\117\109\98\101\114" :. Arbitrary "\66\105\110")
    , tok "\92\100\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 "\39\40\92\92\92\92\124\92\92\39\124\91\94\39\93\41\42\39" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103")
    , tok "\34\40\92\92\92\92\124\92\92\34\124\91\94\34\93\41\42\34" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103")
    , tok "\96\40\92\92\92\92\124\92\92\96\124\91\94\96\93\41\42\96" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\66\97\99\107\116\105\99\107")
    , tok "\60\40\91\94\92\115\62\93\43\41\62" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\82\101\103\101\120\112")
    , tokNext "\40\113\124\113\113\124\113\119\124\113\114\124\113\120\41\92\123" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\79\116\104\101\114") (GoTo cbString')
    , tokNext "\40\113\124\113\113\124\113\119\124\113\114\124\113\120\41\92\40" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\79\116\104\101\114") (GoTo rbString')
    , tokNext "\40\113\124\113\113\124\113\119\124\113\114\124\113\120\41\92\91" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\79\116\104\101\114") (GoTo sbString')
    , tokNext "\40\113\124\113\113\124\113\119\124\113\114\124\113\120\41\92\60" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\79\116\104\101\114") (GoTo ltString')
    , tok "\40\113\124\113\113\124\113\119\124\113\114\124\113\120\41\40\91\94\97\45\122\65\45\90\48\45\57\93\41\40\46\124\92\110\41\42\63\92\50" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\79\116\104\101\114")
    , tokNext "\112\97\99\107\97\103\101\92\115\43" (Arbitrary "\75\101\121\119\111\114\100") (GoTo modulename')
    , tokNext "\115\117\98\92\115\43" (Arbitrary "\75\101\121\119\111\114\100") (GoTo funcname')
    , tok "\40\92\91\92\93\124\92\42\92\42\124\58\58\124\60\60\124\62\62\124\62\61\124\60\61\124\60\61\62\124\61\123\51\125\124\33\61\124\61\126\124\33\126\124\38\38\63\124\92\124\92\124\124\92\46\123\49\44\51\125\41" (Arbitrary "\79\112\101\114\97\116\111\114")
    , tok "\91\45\43\47\42\37\61\60\62\38\94\124\33\92\92\126\93\61\63" (Arbitrary "\79\112\101\114\97\116\111\114")
    , tok "\91\92\40\92\41\92\91\92\93\58\59\44\60\62\47\92\63\92\123\92\125\93" (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110")
    , tokNext "\40\63\61\92\119\41" (Arbitrary "\78\97\109\101") (GoTo name')
    ]

cbString' :: TokenMatcher
cbString' =
    [ tok "\92\92\91\92\123\92\125\92\92\93" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\79\116\104\101\114")
    , tok "\92\92" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\79\116\104\101\114")
    , tokNext "\92\123" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\79\116\104\101\114") (GoTo cbString')
    , tokNext "\92\125" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\79\116\104\101\114") Pop
    , tok "\91\94\92\123\92\125\92\92\93\43" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\79\116\104\101\114")
    ]

ltString' :: TokenMatcher
ltString' =
    [ tok "\92\92\91\92\60\92\62\92\92\93" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\79\116\104\101\114")
    , tok "\92\92" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\79\116\104\101\114")
    , tokNext "\92\60" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\79\116\104\101\114") (GoTo ltString')
    , tokNext "\92\62" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\79\116\104\101\114") Pop
    , tok "\91\94\92\60\92\62\93\43" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\79\116\104\101\114")
    ]