module Text.Highlighter.Lexers.Nasm (lexer) where import Text.Regex.PCRE.Light import Text.Highlighter.Types lexer :: Lexer lexer = Lexer { lName = "\78\65\83\77" , lAliases = ["\110\97\115\109"] , lExtensions = ["\46\97\115\109", "\46\65\83\77"] , lMimetypes = ["\116\101\120\116\47\120\45\110\97\115\109"] , lStart = root' , lFlags = [caseless, multiline] } preproc' :: TokenMatcher preproc' = [ tok "\91\94\59\92\110\93\43" (Arbitrary "\67\111\109\109\101\110\116" :. Arbitrary "\80\114\101\112\114\111\99") , tokNext "\59\46\42\63\92\110" (Arbitrary "\67\111\109\109\101\110\116" :. Arbitrary "\83\105\110\103\108\101") Pop , tokNext "\92\110" (Arbitrary "\67\111\109\109\101\110\116" :. Arbitrary "\80\114\101\112\114\111\99") Pop ] punctuation' :: TokenMatcher punctuation' = [ tok "\91\44\40\41\58\92\91\92\93\93\43" (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110") , tok "\91\38\124\94\60\62\43\42\47\37\126\45\93\43" (Arbitrary "\79\112\101\114\97\116\111\114") , tok "\91\36\93\43" (Arbitrary "\75\101\121\119\111\114\100" :. Arbitrary "\67\111\110\115\116\97\110\116") , tok "\115\101\103\124\119\114\116\124\115\116\114\105\99\116" (Arbitrary "\79\112\101\114\97\116\111\114" :. Arbitrary "\87\111\114\100") , tok "\98\121\116\101\124\91\100\113\93\63\119\111\114\100" (Arbitrary "\75\101\121\119\111\114\100" :. Arbitrary "\84\121\112\101") ] root' :: TokenMatcher root' = [ anyOf whitespace' , tokNext "\94\92\115\42\37" (Arbitrary "\67\111\109\109\101\110\116" :. Arbitrary "\80\114\101\112\114\111\99") (GoTo preproc') , tok "\91\97\45\122\65\45\90\36\46\95\63\93\91\97\45\122\65\45\90\48\45\57\36\46\95\63\35\64\126\93\42\58" (Arbitrary "\78\97\109\101" :. Arbitrary "\76\97\98\101\108") , tokNext "\40\91\97\45\122\65\45\90\36\46\95\63\93\91\97\45\122\65\45\90\48\45\57\36\46\95\63\35\64\126\93\42\41\40\92\115\43\41\40\101\113\117\41" (ByGroups [(Arbitrary "\78\97\109\101" :. Arbitrary "\67\111\110\115\116\97\110\116"), (Arbitrary "\75\101\121\119\111\114\100" :. Arbitrary "\68\101\99\108\97\114\97\116\105\111\110"), (Arbitrary "\75\101\121\119\111\114\100" :. Arbitrary "\68\101\99\108\97\114\97\116\105\111\110")]) (GoTo instructionArgs') , tokNext "\66\73\84\83\124\85\83\69\49\54\124\85\83\69\51\50\124\83\69\67\84\73\79\78\124\83\69\71\77\69\78\84\124\65\66\83\79\76\85\84\69\124\69\88\84\69\82\78\124\71\76\79\66\65\76\124\79\82\71\124\65\76\73\71\78\124\83\84\82\85\67\124\69\78\68\83\84\82\85\67\124\67\79\77\77\79\78\124\67\80\85\124\71\82\79\85\80\124\85\80\80\69\82\67\65\83\69\124\73\77\80\79\82\84\124\69\88\80\79\82\84\124\76\73\66\82\65\82\89\124\77\79\68\85\76\69" (Arbitrary "\75\101\121\119\111\114\100") (GoTo instructionArgs') , tokNext "\40\63\58\114\101\115\124\100\41\91\98\119\100\113\116\93\124\116\105\109\101\115" (Arbitrary "\75\101\121\119\111\114\100" :. Arbitrary "\68\101\99\108\97\114\97\116\105\111\110") (GoTo instructionArgs') , tokNext "\91\97\45\122\65\45\90\36\46\95\63\93\91\97\45\122\65\45\90\48\45\57\36\46\95\63\35\64\126\93\42" (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 "\91\32\92\116\93\43" (Arbitrary "\84\101\120\116") , tok "\59\46\42" (Arbitrary "\67\111\109\109\101\110\116" :. Arbitrary "\83\105\110\103\108\101") ] instructionArgs' :: TokenMatcher instructionArgs' = [ tok "\34\40\92\92\34\124\91\94\34\93\41\42\34\124\39\40\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 "\40\63\58\48\91\120\88\93\91\48\45\57\97\45\102\65\45\70\93\43\124\36\48\91\48\45\57\97\45\102\65\45\70\93\42\124\91\48\45\57\93\43\91\48\45\57\97\45\102\65\45\70\93\42\104\41" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\78\117\109\98\101\114" :. Arbitrary "\72\101\120") , tok "\91\48\45\55\93\43\113" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\78\117\109\98\101\114" :. Arbitrary "\79\99\116") , tok "\91\48\49\93\43\98" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\78\117\109\98\101\114") , tok "\91\48\45\57\93\43\92\46\101\63\91\48\45\57\93\43" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\78\117\109\98\101\114" :. Arbitrary "\70\108\111\97\116") , 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") , anyOf punctuation' , tok "\91\97\45\100\93\91\108\104\93\124\101\63\91\97\45\100\93\120\124\101\63\91\115\98\93\112\124\101\63\91\115\100\93\105\124\91\99\45\103\115\93\115\124\115\116\91\48\45\55\93\124\109\109\91\48\45\55\93\124\99\114\91\48\45\52\93\124\100\114\91\48\45\51\54\55\93\124\116\114\91\51\45\55\93" (Arbitrary "\78\97\109\101" :. Arbitrary "\66\117\105\108\116\105\110") , tok "\91\97\45\122\65\45\90\36\46\95\63\93\91\97\45\122\65\45\90\48\45\57\36\46\95\63\35\64\126\93\42" (Arbitrary "\78\97\109\101" :. Arbitrary "\86\97\114\105\97\98\108\101") , tokNext "\91\92\114\92\110\93\43" (Arbitrary "\84\101\120\116") Pop , anyOf whitespace' ]