highlighter-0.1: src/Text/Highlighter/Lexers/Gas.hs
module Text.Highlighter.Lexers.Gas (lexer) where
import Text.Regex.PCRE.Light
import Text.Highlighter.Types
lexer :: Lexer
lexer = Lexer
{ lName = "\71\65\83"
, lAliases = ["\103\97\115"]
, lExtensions = ["\46\115", "\46\83"]
, lMimetypes = ["\116\101\120\116\47\120\45\103\97\115"]
, lStart = root'
, lFlags = [multiline]
}
directiveArgs' :: TokenMatcher
directiveArgs' =
[ tok "\40\63\58\91\97\45\122\65\45\90\36\95\93\91\97\45\122\65\45\90\36\46\95\48\45\57\64\93\42\124\92\46\91\97\45\122\65\45\90\36\46\95\48\45\57\64\93\43\41" (Arbitrary "\78\97\109\101" :. Arbitrary "\67\111\110\115\116\97\110\116")
, tok "\34\40\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 "\64\40\63\58\91\97\45\122\65\45\90\36\95\93\91\97\45\122\65\45\90\36\46\95\48\45\57\64\93\42\124\92\46\91\97\45\122\65\45\90\36\46\95\48\45\57\64\93\43\41" (Arbitrary "\78\97\109\101" :. Arbitrary "\65\116\116\114\105\98\117\116\101")
, tok "\40\63\58\48\91\120\88\93\91\97\45\122\65\45\90\48\45\57\93\43\124\92\100\43\41" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\78\117\109\98\101\114" :. Arbitrary "\73\110\116\101\103\101\114")
, tokNext "\91\92\114\92\110\93\43" (Arbitrary "\84\101\120\116") Pop
, tokNext "\35\46\42\63\36" (Arbitrary "\67\111\109\109\101\110\116") Pop
, anyOf punctuation'
, anyOf whitespace'
]
punctuation' :: TokenMatcher
punctuation' =
[ tok "\91\45\42\44\46\40\41\58\93\43" (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110")
]
root' :: TokenMatcher
root' =
[ anyOf whitespace'
, tok "\40\63\58\91\97\45\122\65\45\90\36\95\93\91\97\45\122\65\45\90\36\46\95\48\45\57\64\93\42\124\92\46\91\97\45\122\65\45\90\36\46\95\48\45\57\64\93\43\41\58" (Arbitrary "\78\97\109\101" :. Arbitrary "\76\97\98\101\108")
, tokNext "\92\46\40\63\58\91\97\45\122\65\45\90\36\95\93\91\97\45\122\65\45\90\36\46\95\48\45\57\64\93\42\124\92\46\91\97\45\122\65\45\90\36\46\95\48\45\57\64\93\43\41" (Arbitrary "\78\97\109\101" :. Arbitrary "\65\116\116\114\105\98\117\116\101") (GoTo directiveArgs')
, tok "\108\111\99\107\124\114\101\112\40\110\63\122\41\63\124\100\97\116\97\92\100\43" (Arbitrary "\78\97\109\101" :. Arbitrary "\65\116\116\114\105\98\117\116\101")
, tokNext "\40\63\58\91\97\45\122\65\45\90\36\95\93\91\97\45\122\65\45\90\36\46\95\48\45\57\64\93\42\124\92\46\91\97\45\122\65\45\90\36\46\95\48\45\57\64\93\43\41" (Arbitrary "\78\97\109\101" :. Arbitrary "\70\117\110\99\116\105\111\110") (GoTo instructionArgs')
, tok "\91\92\114\92\110\93\43" (Arbitrary "\84\101\120\116")
]
whitespace' :: TokenMatcher
whitespace' =
[ tok "\92\110" (Arbitrary "\84\101\120\116")
, tok "\92\115\43" (Arbitrary "\84\101\120\116")
, tok "\35\46\42\63\92\110" (Arbitrary "\67\111\109\109\101\110\116")
]
instructionArgs' :: TokenMatcher
instructionArgs' =
[ tok "\40\91\97\45\122\48\45\57\93\43\41\40\32\41\40\60\41\40\40\63\58\91\97\45\122\65\45\90\36\95\93\91\97\45\122\65\45\90\36\46\95\48\45\57\64\93\42\124\92\46\91\97\45\122\65\45\90\36\46\95\48\45\57\64\93\43\41\41\40\62\41" (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 "\67\111\110\115\116\97\110\116"), (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110")])
, tok "\40\91\97\45\122\48\45\57\93\43\41\40\32\41\40\60\41\40\40\63\58\91\97\45\122\65\45\90\36\95\93\91\97\45\122\65\45\90\36\46\95\48\45\57\64\93\42\124\92\46\91\97\45\122\65\45\90\36\46\95\48\45\57\64\93\43\41\41\40\91\45\43\93\41\40\40\63\58\48\91\120\88\93\91\97\45\122\65\45\90\48\45\57\93\43\124\92\100\43\41\41\40\62\41" (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 "\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 "\73\110\116\101\103\101\114"), (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110")])
, tok "\40\63\58\91\97\45\122\65\45\90\36\95\93\91\97\45\122\65\45\90\36\46\95\48\45\57\64\93\42\124\92\46\91\97\45\122\65\45\90\36\46\95\48\45\57\64\93\43\41" (Arbitrary "\78\97\109\101" :. Arbitrary "\67\111\110\115\116\97\110\116")
, tok "\40\63\58\48\91\120\88\93\91\97\45\122\65\45\90\48\45\57\93\43\124\92\100\43\41" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\78\117\109\98\101\114" :. Arbitrary "\73\110\116\101\103\101\114")
, tok "\37\40\63\58\91\97\45\122\65\45\90\36\95\93\91\97\45\122\65\45\90\36\46\95\48\45\57\64\93\42\124\92\46\91\97\45\122\65\45\90\36\46\95\48\45\57\64\93\43\41" (Arbitrary "\78\97\109\101" :. Arbitrary "\86\97\114\105\97\98\108\101")
, tok "\36\40\63\58\48\91\120\88\93\91\97\45\122\65\45\90\48\45\57\93\43\124\92\100\43\41" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\78\117\109\98\101\114" :. Arbitrary "\73\110\116\101\103\101\114")
, tokNext "\91\92\114\92\110\93\43" (Arbitrary "\84\101\120\116") Pop
, tokNext "\35\46\42\63\36" (Arbitrary "\67\111\109\109\101\110\116") Pop
, anyOf punctuation'
, anyOf whitespace'
]