import re # lexing reserved_token_names = re.compile(r'^(?:rules|null|start|end|middle[0-9]*)$') valid_token_name = re.compile(r'^[a-zA-Z_][a-zA-Z0-9_]*$') middle_token_name = re.compile(r'^middle([0-9]+)$') # meta regexes meta_chars = re.compile(r'([\.\^\$\*\+\?\{\}\(\)\[\]\|\"\'\\,])') # shell shell_command = re.compile(r'^[^ ]+') # whitespace regexes leading_whitespace = re.compile('^ *') trailing_whitespace = re.compile(' *$') whitespace = re.compile('^[ \n]*$') space = re.compile('^ *$') leading_whitespace2 = re.compile('^( *?)(.*?)\n?$') # word regexes word = re.compile('^[A-Za-z0-9_]+$') word_char = re.compile('^[A-Za-z0-9_]$') # perl regexes perl_base = re.compile("^sub ") perl_hash_cleanup = re.compile(r"^( *)([^ ]+|'(?:\.|[^'\'])*'|\"(?:\.|[^\\\"]*)\")( *)(=>)( *)([^ ].*)$") perl_assign_cleanup = re.compile(r"^( *)((?:my |our )?[^ ]+)( *)(=(?!>))( *)([^ ].*)$") perl_function = re.compile(r"^ *sub ([A-Za-z_][A-Za-z0-9_]*)") # python regexes python_base = re.compile(r"^[^ ]") python_dict_cleanup = re.compile(r"^( *)((?:[^'\":]|'(?:\.|[^\'])*'|\"(?:\.|[^\'])*)+?)( *)(:)( *)([^ ].*)$") python_assign_cleanup = re.compile(r"^( *)([^ ]+)( *)(=)( *)([^ ].*)$") python_function = re.compile('^ *def ([A-Za-z_][A-Za-z0-9_]*)')