module Text.Highlighter.Lexers.Objdump (lexer) where
import qualified Text.Highlighter.Lexers.Gas as Gas
import Text.Regex.PCRE.Light
import Text.Highlighter.Types

lexer :: Lexer
lexer = Lexer
    { lName = "\71\97\115"
    , lAliases = ["\111\98\106\100\117\109\112"]
    , lExtensions = ["\46\111\98\106\100\117\109\112"]
    , lMimetypes = ["\116\101\120\116\47\120\45\111\98\106\100\117\109\112"]
    , lStart = root'
    , lFlags = [multiline]
    }

root' :: TokenMatcher
root' =
    [ tok "\40\46\42\63\41\40\58\41\40\32\43\102\105\108\101\32\102\111\114\109\97\116\32\41\40\46\42\63\41\36" (ByGroups [(Arbitrary "\78\97\109\101" :. Arbitrary "\76\97\98\101\108"), (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110"), (Arbitrary "\84\101\120\116"), (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103")])
    , tok "\40\68\105\115\97\115\115\101\109\98\108\121\32\111\102\32\115\101\99\116\105\111\110\32\41\40\46\42\63\41\40\58\41\36" (ByGroups [(Arbitrary "\84\101\120\116"), (Arbitrary "\78\97\109\101" :. Arbitrary "\76\97\98\101\108"), (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110")])
    , tok "\40\91\48\45\57\65\45\90\97\45\122\93\43\41\40\32\41\40\60\41\40\46\42\63\41\40\91\45\43\93\41\40\48\91\120\88\93\91\65\45\90\97\45\122\48\45\57\93\43\41\40\62\58\41\36" (ByGroups [(Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\78\117\109\98\101\114" :. Arbitrary "\72\101\120"), (Arbitrary "\84\101\120\116"), (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110"), (Arbitrary "\78\97\109\101" :. Arbitrary "\70\117\110\99\116\105\111\110"), (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110"), (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\78\117\109\98\101\114" :. Arbitrary "\72\101\120"), (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110")])
    , tok "\40\91\48\45\57\65\45\90\97\45\122\93\43\41\40\32\41\40\60\41\40\46\42\63\41\40\62\58\41\36" (ByGroups [(Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\78\117\109\98\101\114" :. Arbitrary "\72\101\120"), (Arbitrary "\84\101\120\116"), (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110"), (Arbitrary "\78\97\109\101" :. Arbitrary "\70\117\110\99\116\105\111\110"), (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110")])
    , tok "\40\32\42\41\40\91\48\45\57\65\45\90\97\45\122\93\43\58\41\40\92\116\41\40\40\63\58\91\48\45\57\65\45\90\97\45\122\93\91\48\45\57\65\45\90\97\45\122\93\32\41\43\41\40\32\42\9\41\40\91\97\45\122\65\45\90\93\46\42\63\41\36" (ByGroups [(Arbitrary "\84\101\120\116"), (Arbitrary "\78\97\109\101" :. Arbitrary "\76\97\98\101\108"), (Arbitrary "\84\101\120\116"), (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\78\117\109\98\101\114" :. Arbitrary "\72\101\120"), (Arbitrary "\84\101\120\116"), (Using Gas.lexer)])
    , tok "\40\32\42\41\40\91\48\45\57\65\45\90\97\45\122\93\43\58\41\40\92\116\41\40\40\63\58\91\48\45\57\65\45\90\97\45\122\93\91\48\45\57\65\45\90\97\45\122\93\32\41\43\41\40\32\42\41\40\46\42\63\41\36" (ByGroups [(Arbitrary "\84\101\120\116"), (Arbitrary "\78\97\109\101" :. Arbitrary "\76\97\98\101\108"), (Arbitrary "\84\101\120\116"), (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\78\117\109\98\101\114" :. Arbitrary "\72\101\120"), (Arbitrary "\84\101\120\116"), (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103")])
    , tok "\40\32\42\41\40\91\48\45\57\65\45\90\97\45\122\93\43\58\41\40\92\116\41\40\40\63\58\91\48\45\57\65\45\90\97\45\122\93\91\48\45\57\65\45\90\97\45\122\93\32\41\43\41\36" (ByGroups [(Arbitrary "\84\101\120\116"), (Arbitrary "\78\97\109\101" :. Arbitrary "\76\97\98\101\108"), (Arbitrary "\84\101\120\116"), (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\78\117\109\98\101\114" :. Arbitrary "\72\101\120")])
    , tok "\9\92\46\92\46\92\46\36" (Arbitrary "\84\101\120\116")
    , tok "\40\9\9\9\41\40\91\48\45\57\65\45\90\97\45\122\93\43\58\41\40\32\41\40\91\94\9\93\43\41\40\9\41\40\46\42\63\41\40\91\45\43\93\41\40\48\120\91\48\45\57\65\45\90\97\45\122\93\43\41\36" (ByGroups [(Arbitrary "\84\101\120\116"), (Arbitrary "\78\97\109\101" :. Arbitrary "\76\97\98\101\108"), (Arbitrary "\84\101\120\116"), (Arbitrary "\78\97\109\101" :. Arbitrary "\80\114\111\112\101\114\116\121"), (Arbitrary "\84\101\120\116"), (Arbitrary "\78\97\109\101" :. Arbitrary "\67\111\110\115\116\97\110\116"), (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110"), (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\78\117\109\98\101\114" :. Arbitrary "\72\101\120")])
    , tok "\40\9\9\9\41\40\91\48\45\57\65\45\90\97\45\122\93\43\58\41\40\32\41\40\91\94\9\93\43\41\40\9\41\40\46\42\63\41\36" (ByGroups [(Arbitrary "\84\101\120\116"), (Arbitrary "\78\97\109\101" :. Arbitrary "\76\97\98\101\108"), (Arbitrary "\84\101\120\116"), (Arbitrary "\78\97\109\101" :. Arbitrary "\80\114\111\112\101\114\116\121"), (Arbitrary "\84\101\120\116"), (Arbitrary "\78\97\109\101" :. Arbitrary "\67\111\110\115\116\97\110\116")])
    , tok "\91\94\10\93\43\10" (Arbitrary "\79\116\104\101\114")
    ]