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

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

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

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