<s> """<STR_LIT>""" <EOL> import re <EOL> from pygments . lexer import Lexer , RegexLexer , include , bygroups , words , using , this , default <EOL> from pygments . util import get_bool_opt , get_list_opt <EOL> from pygments . token import Text , Comment , Operator , Keyword , Name , String , Number , Punctuation , Error <EOL> from pygments . scanner import Scanner <EOL> __all__ = [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] <EOL> class DelphiLexer ( Lexer ) : <EOL> """<STR_LIT>""" <EOL> name = '<STR_LIT>' <EOL> aliases = [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] <EOL> filenames = [ '<STR_LIT>' ] <EOL> mimetypes = [ '<STR_LIT>' ] <EOL> TURBO_PASCAL_KEYWORDS = ( <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:end>' , '<STR_LIT:file>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT:label>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:object>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:string>' , '<STR_LIT>' , '<STR_LIT:to>' , <EOL> '<STR_LIT:type>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' <EOL> ) <EOL> DELPHI_KEYWORDS = ( <EOL> '<STR_LIT>' , '<STR_LIT:class>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' <EOL> ) <EOL> FREE_PASCAL_KEYWORDS = ( <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:false>' , '<STR_LIT>' , '<STR_LIT:true>' <EOL> ) <EOL> BLOCK_KEYWORDS = set ( ( <EOL> '<STR_LIT>' , '<STR_LIT:class>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:end>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT:label>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:type>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' <EOL> ) ) <EOL> FUNCTION_MODIFIERS = set ( ( <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT:name>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' <EOL> ) ) <EOL> DIRECTIVES = set ( ( <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:default>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:index>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' <EOL> ) ) <EOL> BUILTIN_TYPES = set ( ( <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:bool>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:string>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' <EOL> ) ) <EOL> BUILTIN_UNITS = { <EOL> '<STR_LIT>' : ( <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT:int>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT:str>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' <EOL> ) , <EOL> '<STR_LIT>' : ( <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:date>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:time>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' <EOL> ) , <EOL> '<STR_LIT>' : ( <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' <EOL> ) , <EOL> '<STR_LIT>' : ( <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' <EOL> ) <EOL> } <EOL> ASM_REGISTERS = set ( ( <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' <EOL> ) ) <EOL> ASM_INSTRUCTIONS = set ( ( <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT:int>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:str>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT:test>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' <EOL> ) ) <EOL> def __init__ ( self , ** options ) : <EOL> Lexer . __init__ ( self , ** options ) <EOL> self . keywords = set ( ) <EOL> if get_bool_opt ( options , '<STR_LIT>' , True ) : <EOL> self . keywords . update ( self . TURBO_PASCAL_KEYWORDS ) <EOL> if get_bool_opt ( options , '<STR_LIT>' , True ) : <EOL> self . keywords . update ( self . DELPHI_KEYWORDS ) <EOL> if get_bool_opt ( options , '<STR_LIT>' , True ) : <EOL> self . keywords . update ( self . FREE_PASCAL_KEYWORDS ) <EOL> self . builtins = set ( ) <EOL> for unit in get_list_opt ( options , '<STR_LIT>' , list ( self . BUILTIN_UNITS ) ) : <EOL> self . builtins . update ( self . BUILTIN_UNITS [ unit ] ) <EOL> def get_tokens_unprocessed ( self , text ) : <EOL> scanner = Scanner ( text , re . DOTALL | re . MULTILINE | re . IGNORECASE ) <EOL> stack = [ '<STR_LIT>' ] <EOL> in_function_block = False <EOL> in_property_block = False <EOL> was_dot = False <EOL> next_token_is_function = False <EOL> next_token_is_property = False <EOL> collect_labels = False <EOL> block_labels = set ( ) <EOL> brace_balance = [ <NUM_LIT:0> , <NUM_LIT:0> ] <EOL> while not scanner . eos : <EOL> token = Error <EOL> if stack [ - <NUM_LIT:1> ] == '<STR_LIT>' : <EOL> if scanner . scan ( r'<STR_LIT>' ) : <EOL> token = Text <EOL> elif scanner . scan ( r'<STR_LIT>' ) : <EOL> if scanner . match . startswith ( '<STR_LIT:$>' ) : <EOL> token = Comment . Preproc <EOL> else : <EOL> token = Comment . Multiline <EOL> elif scanner . scan ( r'<STR_LIT>' ) : <EOL> token = Comment . Single <EOL> elif scanner . scan ( r'<STR_LIT>' ) : <EOL> token = Operator <EOL> if collect_labels and scanner . match == '<STR_LIT:;>' : <EOL> collect_labels = False <EOL> elif scanner . scan ( r'<STR_LIT>' ) : <EOL> token = Punctuation <EOL> next_token_is_function = False <EOL> if in_function_block or in_property_block : <EOL> if scanner . match == '<STR_LIT:(>' : <EOL> brace_balance [ <NUM_LIT:0> ] += <NUM_LIT:1> <EOL> elif scanner . match == '<STR_LIT:)>' : <EOL> brace_balance [ <NUM_LIT:0> ] -= <NUM_LIT:1> <EOL> elif scanner . match == '<STR_LIT:[>' : <EOL> brace_balance [ <NUM_LIT:1> ] += <NUM_LIT:1> <EOL> elif scanner . match == '<STR_LIT:]>' : <EOL> brace_balance [ <NUM_LIT:1> ] -= <NUM_LIT:1> <EOL> elif scanner . scan ( r'<STR_LIT>' ) : <EOL> lowercase_name = scanner . match . lower ( ) <EOL> if lowercase_name == '<STR_LIT:result>' : <EOL> token = Name . Builtin . Pseudo <EOL> elif lowercase_name in self . keywords : <EOL> token = Keyword <EOL> if ( in_function_block or in_property_block ) and lowercase_name in self . BLOCK_KEYWORDS and brace_balance [ <NUM_LIT:0> ] <= <NUM_LIT:0> and brace_balance [ <NUM_LIT:1> ] <= <NUM_LIT:0> : <EOL> in_function_block = False <EOL> in_property_block = False <EOL> brace_balance = [ <NUM_LIT:0> , <NUM_LIT:0> ] <EOL> block_labels = set ( ) <EOL> if lowercase_name in ( '<STR_LIT:label>' , '<STR_LIT>' ) : <EOL> collect_labels = True <EOL> elif lowercase_name == '<STR_LIT>' : <EOL> stack . append ( '<STR_LIT>' ) <EOL> elif lowercase_name == '<STR_LIT>' : <EOL> in_property_block = True <EOL> next_token_is_property = True <EOL> elif lowercase_name in ( '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' ) : <EOL> in_function_block = True <EOL> next_token_is_function = True <EOL> elif in_function_block and lowercase_name in self . FUNCTION_MODIFIERS : <EOL> token = Keyword . Pseudo <EOL> elif in_property_block and lowercase_name in ( '<STR_LIT>' , '<STR_LIT>' ) : <EOL> token = Keyword . Pseudo <EOL> next_token_is_function = True <EOL> elif next_token_is_function : <EOL> if scanner . test ( r'<STR_LIT>' ) : <EOL> token = Name . Class <EOL> else : <EOL> token = Name . Function <EOL> next_token_is_function = False <EOL> elif next_token_is_property : <EOL> token = Name . Property <EOL> next_token_is_property = False <EOL> elif collect_labels : <EOL> token = Name . Label <EOL> block_labels . add ( scanner . match . lower ( ) ) <EOL> elif lowercase_name in block_labels : <EOL> token = Name . Label <EOL> elif lowercase_name in self . BUILTIN_TYPES : <EOL> token = Keyword . Type <EOL> elif lowercase_name in self . DIRECTIVES : <EOL> token = Keyword . Pseudo <EOL> elif not was_dot and lowercase_name in self . builtins : <EOL> token = Name . Builtin <EOL> else : <EOL> token = Name <EOL> elif scanner . scan ( r"<STR_LIT:'>" ) : <EOL> token = String <EOL> stack . append ( '<STR_LIT:string>' ) <EOL> elif scanner . scan ( r'<STR_LIT>' ) : <EOL> token = String . Char <EOL> elif scanner . scan ( r'<STR_LIT>' ) : <EOL> token = Number . Hex <EOL> elif scanner . scan ( r'<STR_LIT>' ) : <EOL> token = Number . Integer <EOL> elif scanner . scan ( r'<STR_LIT>' ) : <EOL> token = Number . Float <EOL> else : <EOL> if len ( stack ) > <NUM_LIT:1> : <EOL> stack . pop ( ) <EOL> scanner . get_char ( ) <EOL> elif stack [ - <NUM_LIT:1> ] == '<STR_LIT:string>' : <EOL> if scanner . scan ( r"<STR_LIT>" ) : <EOL> token = String . Escape <EOL> elif scanner . scan ( r"<STR_LIT:'>" ) : <EOL> token = String <EOL> stack . pop ( ) <EOL> elif scanner . scan ( r"<STR_LIT>" ) : <EOL> token = String <EOL> else : <EOL> scanner . get_char ( ) <EOL> stack . pop ( ) <EOL> elif stack [ - <NUM_LIT:1> ] == '<STR_LIT>' : <EOL> if scanner . scan ( r'<STR_LIT>' ) : <EOL> token = Text <EOL> elif scanner . scan ( r'<STR_LIT:end>' ) : <EOL> token = Keyword <EOL> stack . pop ( ) <EOL> elif scanner . scan ( r'<STR_LIT>' ) : <EOL> if scanner . match . startswith ( '<STR_LIT:$>' ) : <EOL> token = Comment . Preproc <EOL> else : <EOL> token = Comment . Multiline <EOL> elif scanner . scan ( r'<STR_LIT>' ) : <EOL> token = Comment . Single <EOL> elif scanner . scan ( r"<STR_LIT:'>" ) : <EOL> token = String <EOL> stack . append ( '<STR_LIT:string>' ) <EOL> elif scanner . scan ( r'<STR_LIT>' ) : <EOL> token = Name . Label <EOL> elif scanner . scan ( r'<STR_LIT>' ) : <EOL> lowercase_name = scanner . match . lower ( ) <EOL> if lowercase_name in self . ASM_INSTRUCTIONS : <EOL> token = Keyword <EOL> elif lowercase_name in self . ASM_REGISTERS : <EOL> token = Name . Builtin <EOL> else : <EOL> token = Name <EOL> elif scanner . scan ( r'<STR_LIT>' ) : <EOL> token = Operator <EOL> elif scanner . scan ( r'<STR_LIT>' ) : <EOL> token = Punctuation <EOL> elif scanner . scan ( r'<STR_LIT>' ) : <EOL> token = Number . Hex <EOL> elif scanner . scan ( r'<STR_LIT>' ) : <EOL> token = Number . Integer <EOL> elif scanner . scan ( r'<STR_LIT>' ) : <EOL> token = Number . Float <EOL> else : <EOL> scanner . get_char ( ) <EOL> stack . pop ( ) <EOL> if scanner . match . strip ( ) : <EOL> was_dot = scanner . match == '<STR_LIT:.>' <EOL> yield scanner . start_pos , token , scanner . match or '<STR_LIT>' <EOL> class Modula2Lexer ( RegexLexer ) : <EOL> """<STR_LIT>""" <EOL> name = '<STR_LIT>' <EOL> aliases = [ '<STR_LIT>' , '<STR_LIT>' ] <EOL> filenames = [ '<STR_LIT>' , '<STR_LIT>' ] <EOL> mimetypes = [ '<STR_LIT>' ] <EOL> flags = re . MULTILINE | re . DOTALL <EOL> tokens = { <EOL> '<STR_LIT>' : [ <EOL> ( r'<STR_LIT>' , Text ) , <EOL> ( r'<STR_LIT>' , Text ) , <EOL> ] , <EOL> '<STR_LIT>' : [ <EOL> ( r'<STR_LIT>' , Name ) , <EOL> ] , <EOL> '<STR_LIT>' : [ <EOL> ( r'<STR_LIT>' , Number . Bin ) , <EOL> ( r'<STR_LIT>' , Number . Oct ) , <EOL> ( r'<STR_LIT>' , Number . Oct ) , <EOL> ( r'<STR_LIT>' , Number . Hex ) , <EOL> ( r'<STR_LIT>' , Number . Hex ) , <EOL> ( r'<STR_LIT>' , Number . Float ) , <EOL> ( r'<STR_LIT>' , Number . Float ) , <EOL> ( r'<STR_LIT>' , Number . Integer ) , <EOL> ] , <EOL> '<STR_LIT>' : [ <EOL> ( r"<STR_LIT>" , String ) , <EOL> ( r'<STR_LIT>' , String ) , <EOL> ] , <EOL> '<STR_LIT>' : [ <EOL> ( r'<STR_LIT>' , Operator ) , <EOL> ( r'<STR_LIT>' , Operator ) , <EOL> ( r'<STR_LIT:@>' , Operator ) , <EOL> ( r'<STR_LIT>' , Operator ) , <EOL> ( r'<STR_LIT>' , Operator ) , <EOL> ( r'<STR_LIT>' , Operator ) , <EOL> ] , <EOL> '<STR_LIT>' : [ <EOL> ( r'<STR_LIT>' , Punctuation ) , <EOL> ] , <EOL> '<STR_LIT>' : [ <EOL> ( r'<STR_LIT>' , Comment . Single ) , <EOL> ( r'<STR_LIT>' , Comment . Multiline ) , <EOL> ( r'<STR_LIT>' , Comment . Multiline ) , <EOL> ] , <EOL> '<STR_LIT>' : [ <EOL> ( r'<STR_LIT>' , Comment . Preproc ) , <EOL> ( r'<STR_LIT>' , Comment . Preproc ) , <EOL> ] , <EOL> '<STR_LIT:root>' : [ <EOL> include ( '<STR_LIT>' ) , <EOL> include ( '<STR_LIT>' ) , <EOL> include ( '<STR_LIT>' ) , <EOL> include ( '<STR_LIT>' ) , <EOL> include ( '<STR_LIT>' ) , <EOL> include ( '<STR_LIT>' ) , <EOL> include ( '<STR_LIT>' ) , <EOL> include ( '<STR_LIT>' ) , <EOL> ] <EOL> } <EOL> pim_reserved_words = [ <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> ] <EOL> pim_pervasives = [ <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> ] <EOL> iso_reserved_words = [ <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> ] <EOL> iso_pervasives = [ <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> ] <EOL> objm2_reserved_words = [ <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , <EOL> ] <EOL> objm2_pervasives = [ <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> ] <EOL> gnu_reserved_words = [ <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> ] <EOL> gnu_pervasives = [ <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> ] <EOL> def __init__ ( self , ** options ) : <EOL> self . reserved_words = set ( ) <EOL> self . pervasives = set ( ) <EOL> if get_bool_opt ( options , '<STR_LIT>' , False ) : <EOL> self . reserved_words . update ( self . iso_reserved_words ) <EOL> self . pervasives . update ( self . iso_pervasives ) <EOL> elif get_bool_opt ( options , '<STR_LIT>' , False ) : <EOL> self . reserved_words . update ( self . objm2_reserved_words ) <EOL> self . pervasives . update ( self . objm2_pervasives ) <EOL> else : <EOL> self . reserved_words . update ( self . pim_reserved_words ) <EOL> self . pervasives . update ( self . pim_pervasives ) <EOL> if get_bool_opt ( options , '<STR_LIT>' , False ) : <EOL> self . reserved_words . update ( self . gnu_reserved_words ) <EOL> self . pervasives . update ( self . gnu_pervasives ) <EOL> RegexLexer . __init__ ( self , ** options ) <EOL> def get_tokens_unprocessed ( self , text ) : <EOL> for index , token , value in RegexLexer . get_tokens_unprocessed ( self , text ) : <EOL> if token is Name : <EOL> if value in self . reserved_words : <EOL> token = Keyword . Reserved <EOL> elif value in self . pervasives : <EOL> token = Keyword . Pervasive <EOL> yield index , token , value <EOL> class AdaLexer ( RegexLexer ) : <EOL> """<STR_LIT>""" <EOL> name = '<STR_LIT>' <EOL> aliases = [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] <EOL> filenames = [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] <EOL> mimetypes = [ '<STR_LIT>' ] <EOL> flags = re . MULTILINE | re . IGNORECASE <EOL> tokens = { <EOL> '<STR_LIT:root>' : [ <EOL> ( r'<STR_LIT>' , Text ) , <EOL> ( r'<STR_LIT>' , Comment . Single ) , <EOL> ( r'<STR_LIT>' , Text ) , <EOL> ( r'<STR_LIT>' , Keyword . Declaration , '<STR_LIT>' ) , <EOL> ( r'<STR_LIT>' , <EOL> bygroups ( Keyword . Declaration , Text , Keyword . Type ) , '<STR_LIT>' ) , <EOL> ( r'<STR_LIT>' , Keyword . Declaration ) , <EOL> ( r'<STR_LIT>' , bygroups ( Keyword . Declaration , Text ) ) , <EOL> ( r'<STR_LIT>' , bygroups ( Keyword . Reserved , Text ) , '<STR_LIT:end>' ) , <EOL> ( r'<STR_LIT>' , bygroups ( Keyword . Reserved , Text , <EOL> Comment . Preproc ) ) , <EOL> ( r'<STR_LIT>' , Keyword . Constant ) , <EOL> ( words ( ( <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) , suffix = r'<STR_LIT>' ) , <EOL> Keyword . Type ) , <EOL> ( r'<STR_LIT>' , Operator . Word ) , <EOL> ( r'<STR_LIT>' , Keyword . Declaration ) , <EOL> ( r'<STR_LIT>' , Keyword . Declaration , '<STR_LIT>' ) , <EOL> ( r'<STR_LIT>' , Keyword . Reserved , '<STR_LIT>' ) , <EOL> ( r'<STR_LIT>' , bygroups ( Keyword . Namespace , Text ) , '<STR_LIT>' ) , <EOL> ( r'<STR_LIT>' , <EOL> bygroups ( Name . Constant , Text , Punctuation , Text , <EOL> Keyword . Reserved ) ) , <EOL> ( r'<STR_LIT>' , Name . Label ) , <EOL> ( r'<STR_LIT>' , <EOL> bygroups ( Name . Label , Text , Punctuation , Text , Keyword . Reserved ) ) , <EOL> ( words ( ( <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:all>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:body>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:end>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:null>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:type>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' ) , prefix = r'<STR_LIT>' , suffix = r'<STR_LIT>' ) , <EOL> Keyword . Reserved ) , <EOL> ( r'<STR_LIT>' , String ) , <EOL> include ( '<STR_LIT>' ) , <EOL> include ( '<STR_LIT>' ) , <EOL> ( r"<STR_LIT>" , String . Character ) , <EOL> ( r'<STR_LIT>' , bygroups ( Name , using ( this ) ) ) , <EOL> ( r"<STR_LIT>" , Punctuation ) , <EOL> ( r'<STR_LIT>' , Operator ) , <EOL> ( r'<STR_LIT>' , Text ) , <EOL> ] , <EOL> '<STR_LIT>' : [ <EOL> ( r'<STR_LIT>' , Number . Hex ) , <EOL> ( r'<STR_LIT>' , Number . Float ) , <EOL> ( r'<STR_LIT>' , Number . Integer ) , <EOL> ] , <EOL> '<STR_LIT>' : [ <EOL> ( r"<STR_LIT>" , bygroups ( Punctuation , Name . Attribute ) ) , <EOL> ] , <EOL> '<STR_LIT>' : [ <EOL> ( r'<STR_LIT>' , Punctuation , ( '<STR_LIT:#pop>' , '<STR_LIT>' ) ) , <EOL> ( r'<STR_LIT:;>' , Punctuation , '<STR_LIT:#pop>' ) , <EOL> ( r'<STR_LIT>' , Keyword . Reserved , '<STR_LIT:#pop>' ) , <EOL> ( r'<STR_LIT>' , Name . Function ) , <EOL> include ( '<STR_LIT:root>' ) , <EOL> ] , <EOL> '<STR_LIT:end>' : [ <EOL> ( '<STR_LIT>' , Keyword . Reserved ) , <EOL> ( '<STR_LIT>' , Name . Function ) , <EOL> ( '<STR_LIT>' , Text ) , <EOL> ( '<STR_LIT:;>' , Punctuation , '<STR_LIT:#pop>' ) , <EOL> ] , <EOL> '<STR_LIT>' : [ <EOL> ( r'<STR_LIT:;>' , Punctuation , '<STR_LIT:#pop>' ) , <EOL> ( r'<STR_LIT>' , Punctuation , '<STR_LIT>' ) , <EOL> ( r'<STR_LIT>' , Keyword . Reserved ) , <EOL> ( r'<STR_LIT>' , Keyword . Reserved , ( '<STR_LIT:#pop>' , '<STR_LIT>' ) ) , <EOL> ( r'<STR_LIT>' , Keyword . Reserved , ( '<STR_LIT>' ) ) , <EOL> ( r'<STR_LIT>' , bygroups ( Keyword . Reserved , Punctuation ) , '<STR_LIT:#pop>' ) , <EOL> include ( '<STR_LIT:root>' ) , <EOL> ] , <EOL> '<STR_LIT>' : [ <EOL> ( r'<STR_LIT:;>' , Punctuation , '<STR_LIT:#pop>' ) , <EOL> ( r'<STR_LIT>' , bygroups ( Keyword . Type , Text , Keyword . Reserved ) ) , <EOL> include ( '<STR_LIT:root>' ) , <EOL> ] , <EOL> '<STR_LIT>' : [ <EOL> ( r'<STR_LIT>' , Keyword . Reserved , '<STR_LIT:#pop>' ) , <EOL> include ( '<STR_LIT:root>' ) , <EOL> ] , <EOL> '<STR_LIT>' : [ <EOL> ( r'<STR_LIT>' , Name . Namespace , '<STR_LIT:#pop>' ) , <EOL> default ( '<STR_LIT:#pop>' ) , <EOL> ] , <EOL> '<STR_LIT>' : [ <EOL> ( r'<STR_LIT>' , Punctuation , '<STR_LIT:#pop>' ) , <EOL> ( r'<STR_LIT>' , Name . Variable ) , <EOL> ( r'<STR_LIT>' , Punctuation ) , <EOL> ( r'<STR_LIT>' , Keyword . Reserved ) , <EOL> include ( '<STR_LIT:root>' ) , <EOL> ] , <EOL> '<STR_LIT>' : [ <EOL> ( '<STR_LIT:body>' , Keyword . Declaration ) , <EOL> ( '<STR_LIT>' , Keyword . Reserved ) , <EOL> ( '<STR_LIT>' , Keyword . Reserved , '<STR_LIT:#pop>' ) , <EOL> ( '<STR_LIT:;>' , Punctuation , '<STR_LIT:#pop>' ) , <EOL> ( '<STR_LIT>' , Punctuation , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , Name . Class ) , <EOL> include ( '<STR_LIT:root>' ) , <EOL> ] , <EOL> '<STR_LIT>' : [ <EOL> ( r'<STR_LIT>' , bygroups ( Name . Variable , Text , Punctuation ) ) , <EOL> ( r'<STR_LIT>' , Text ) , <EOL> ( r'<STR_LIT>' , Punctuation , '<STR_LIT:#pop>' ) , <EOL> include ( '<STR_LIT:root>' ) , <EOL> ] , <EOL> } </s>
