# Leo colorizer control file for fortran90 mode.
# This file is in the public domain.

# Properties for fortran90 mode.
properties = {
	"blockComment": "!",
	"indentNextLine": "\\s*((if\\s*\\(.*\\)\\s*then|else\\s*|do\\s*)*)",
	"wordBreakChars": ",+-=<>/?^&*",
}

# Attributes dict for fortran90_main ruleset.
fortran90_main_attributes_dict = {
	"default": "null",
	"digit_re": "",
	"escape": "",
	"highlight_digits": "false",
	"ignore_case": "true",
	"no_word_sep": "",
}

# Dictionary of attributes dictionaries for fortran90 mode.
attributesDictDict = {
	"fortran90_main": fortran90_main_attributes_dict,
}

# Keywords dict for fortran90_main ruleset.
fortran90_main_keywords_dict = {
	".false.": "keyword1",
	".true.": "keyword1",
	"abs": "keyword1",
	"acos": "keyword1",
	"aimag": "keyword1",
	"aint": "keyword1",
	"allocatable": "keyword1",
	"allocate": "keyword1",
	"allocated": "keyword1",
	"alog": "keyword1",
	"alog10": "keyword1",
	"amax0": "keyword1",
	"amax1": "keyword1",
	"amin0": "keyword1",
	"amin1": "keyword1",
	"amod": "keyword1",
	"anint": "keyword1",
	"asin": "keyword1",
	"atan": "keyword1",
	"atan2": "keyword1",
	"backspace": "keyword1",
	"cabs": "keyword1",
	"call": "keyword1",
	"case": "keyword1",
	"ccos": "keyword1",
	"ceiling": "keyword1",
	"char": "keyword1",
	"character": "keyword1",
	"clog": "keyword1",
	"close": "keyword1",
	"cmplx": "keyword1",
	"complex": "keyword1",
	"conjg": "keyword1",
	"contains": "keyword1",
	"continue": "keyword1",
	"cos": "keyword1",
	"cosh": "keyword1",
	"csin": "keyword1",
	"csqrt": "keyword1",
	"cycle": "keyword1",
	"dabs": "keyword1",
	"dacos": "keyword1",
	"dasin": "keyword1",
	"data": "keyword1",
	"datan": "keyword1",
	"datan2": "keyword1",
	"dble": "keyword1",
	"dcmplx": "keyword1",
	"dcos": "keyword1",
	"dcosh": "keyword1",
	"ddim": "keyword1",
	"deallocate": "keyword1",
	"default": "keyword1",
	"dexp": "keyword1",
	"dfloat": "keyword1",
	"dim": "keyword1",
	"dimension": "keyword1",
	"dint": "keyword1",
	"dlog": "keyword1",
	"dlog10": "keyword1",
	"dmax1": "keyword1",
	"dmin1": "keyword1",
	"dmod": "keyword1",
	"dnint": "keyword1",
	"do": "keyword1",
	"double": "keyword1",
	"dprod": "keyword1",
	"dreal": "keyword1",
	"dsign": "keyword1",
	"dsin": "keyword1",
	"dsinh": "keyword1",
	"dsqrt": "keyword1",
	"dtan": "keyword1",
	"dtanh": "keyword1",
	"else": "keyword1",
	"elseif": "keyword1",
	"elsewhere": "keyword1",
	"end": "keyword1",
	"enddo": "keyword1",
	"endfile": "keyword1",
	"endif": "keyword1",
	"exit": "keyword1",
	"exp": "keyword1",
	"explicit": "keyword1",
	"float": "keyword1",
	"floor": "keyword1",
	"forall": "keyword1",
	"format": "keyword1",
	"function": "keyword1",
	"goto": "keyword1",
	"iabs": "keyword1",
	"ichar": "keyword1",
	"idim": "keyword1",
	"idint": "keyword1",
	"idnint": "keyword1",
	"if": "keyword1",
	"ifix": "keyword1",
	"imag": "keyword1",
	"implicit": "keyword1",
	"include": "keyword1",
	"index": "keyword1",
	"inquire": "keyword1",
	"int": "keyword1",
	"integer": "keyword1",
	"isign": "keyword1",
	"kind": "keyword1",
	"len": "keyword1",
	"lge": "keyword1",
	"lgt": "keyword1",
	"lle": "keyword1",
	"llt": "keyword1",
	"log": "keyword1",
	"log10": "keyword1",
	"logical": "keyword1",
	"max": "keyword1",
	"max0": "keyword1",
	"max1": "keyword1",
	"min": "keyword1",
	"min0": "keyword1",
	"min1": "keyword1",
	"mod": "keyword1",
	"module": "keyword1",
	"modulo": "keyword1",
	"nint": "keyword1",
	"none": "keyword1",
	"open": "keyword1",
	"parameter": "keyword1",
	"pause": "keyword1",
	"precision": "keyword1",
	"print": "keyword1",
	"program": "keyword1",
	"read": "keyword1",
	"real": "keyword1",
	"return": "keyword1",
	"rewind": "keyword1",
	"select": "keyword1",
	"sign": "keyword1",
	"sin": "keyword1",
	"sinh": "keyword1",
	"sngl": "keyword1",
	"sqrt": "keyword1",
	"stop": "keyword1",
	"subroutine": "keyword1",
	"tan": "keyword1",
	"tanh": "keyword1",
	"then": "keyword1",
	"transfer": "keyword1",
	"use": "keyword1",
	"where": "keyword1",
	"while": "keyword1",
	"write": "keyword1",
	"zext": "keyword1",
}

# Dictionary of keywords dictionaries for fortran90 mode.
keywordsDictDict = {
	"fortran90_main": fortran90_main_keywords_dict,
}

# Rules for fortran90_main ruleset.

def fortran90_rule0(colorer, s, i):
    return colorer.match_terminate(s, i, kind="", at_char=132)

def fortran90_rule1(colorer, s, i):
    return colorer.match_eol_span(s, i, kind="comment1", seq="!",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="", exclude_match=False)

def fortran90_rule2(colorer, s, i):
    return colorer.match_seq(s, i, kind="operator", seq="<=",
        at_line_start=False, at_whitespace_end=False, at_word_start=False, delegate="")

def fortran90_rule3(colorer, s, i):
    return colorer.match_seq(s, i, kind="operator", seq=">=",
        at_line_start=False, at_whitespace_end=False, at_word_start=False, delegate="")

def fortran90_rule4(colorer, s, i):
    return colorer.match_seq(s, i, kind="operator", seq=">",
        at_line_start=False, at_whitespace_end=False, at_word_start=False, delegate="")

def fortran90_rule5(colorer, s, i):
    return colorer.match_seq(s, i, kind="operator", seq="<",
        at_line_start=False, at_whitespace_end=False, at_word_start=False, delegate="")

def fortran90_rule6(colorer, s, i):
    return colorer.match_seq(s, i, kind="operator", seq="&",
        at_line_start=False, at_whitespace_end=False, at_word_start=False, delegate="")

def fortran90_rule7(colorer, s, i):
    return colorer.match_seq(s, i, kind="operator", seq="/=",
        at_line_start=False, at_whitespace_end=False, at_word_start=False, delegate="")

def fortran90_rule8(colorer, s, i):
    return colorer.match_seq(s, i, kind="operator", seq="==",
        at_line_start=False, at_whitespace_end=False, at_word_start=False, delegate="")

def fortran90_rule9(colorer, s, i):
    return colorer.match_seq(s, i, kind="operator", seq=".lt.",
        at_line_start=False, at_whitespace_end=False, at_word_start=False, delegate="")

def fortran90_rule10(colorer, s, i):
    return colorer.match_seq(s, i, kind="operator", seq=".gt.",
        at_line_start=False, at_whitespace_end=False, at_word_start=False, delegate="")

def fortran90_rule11(colorer, s, i):
    return colorer.match_seq(s, i, kind="operator", seq=".eq.",
        at_line_start=False, at_whitespace_end=False, at_word_start=False, delegate="")

def fortran90_rule12(colorer, s, i):
    return colorer.match_seq(s, i, kind="operator", seq=".ne.",
        at_line_start=False, at_whitespace_end=False, at_word_start=False, delegate="")

def fortran90_rule13(colorer, s, i):
    return colorer.match_seq(s, i, kind="operator", seq=".le.",
        at_line_start=False, at_whitespace_end=False, at_word_start=False, delegate="")

def fortran90_rule14(colorer, s, i):
    return colorer.match_seq(s, i, kind="operator", seq=".ge.",
        at_line_start=False, at_whitespace_end=False, at_word_start=False, delegate="")

def fortran90_rule15(colorer, s, i):
    return colorer.match_seq(s, i, kind="operator", seq=".AND.",
        at_line_start=False, at_whitespace_end=False, at_word_start=False, delegate="")

def fortran90_rule16(colorer, s, i):
    return colorer.match_seq(s, i, kind="operator", seq=".OR.",
        at_line_start=False, at_whitespace_end=False, at_word_start=False, delegate="")

def fortran90_rule17(colorer, s, i):
    return colorer.match_keywords(s, i)

# Rules dict for fortran90_main ruleset.
rulesDict1 = {
	"!": [fortran90_rule1,],
	"&": [fortran90_rule6,],
	".": [fortran90_rule9,fortran90_rule10,fortran90_rule11,fortran90_rule12,fortran90_rule13,fortran90_rule14,fortran90_rule15,fortran90_rule16,fortran90_rule17,],
	"/": [fortran90_rule7,],
	"0": [fortran90_rule17,],
	"1": [fortran90_rule17,],
	"2": [fortran90_rule17,],
	"3": [fortran90_rule17,],
	"4": [fortran90_rule17,],
	"5": [fortran90_rule17,],
	"6": [fortran90_rule17,],
	"7": [fortran90_rule17,],
	"8": [fortran90_rule17,],
	"9": [fortran90_rule17,],
	"<": [fortran90_rule2,fortran90_rule5,],
	"=": [fortran90_rule8,],
	">": [fortran90_rule3,fortran90_rule4,],
	"@": [fortran90_rule17,],
	"A": [fortran90_rule17,],
	"B": [fortran90_rule17,],
	"C": [fortran90_rule17,],
	"D": [fortran90_rule17,],
	"E": [fortran90_rule17,],
	"F": [fortran90_rule17,],
	"G": [fortran90_rule17,],
	"H": [fortran90_rule17,],
	"I": [fortran90_rule17,],
	"J": [fortran90_rule17,],
	"K": [fortran90_rule17,],
	"L": [fortran90_rule17,],
	"M": [fortran90_rule17,],
	"N": [fortran90_rule17,],
	"O": [fortran90_rule17,],
	"P": [fortran90_rule17,],
	"Q": [fortran90_rule17,],
	"R": [fortran90_rule17,],
	"S": [fortran90_rule17,],
	"T": [fortran90_rule17,],
	"U": [fortran90_rule17,],
	"V": [fortran90_rule17,],
	"W": [fortran90_rule17,],
	"X": [fortran90_rule17,],
	"Y": [fortran90_rule17,],
	"Z": [fortran90_rule17,],
	"a": [fortran90_rule17,],
	"b": [fortran90_rule17,],
	"c": [fortran90_rule17,],
	"d": [fortran90_rule17,],
	"e": [fortran90_rule17,],
	"f": [fortran90_rule17,],
	"g": [fortran90_rule17,],
	"h": [fortran90_rule17,],
	"i": [fortran90_rule17,],
	"j": [fortran90_rule17,],
	"k": [fortran90_rule17,],
	"l": [fortran90_rule17,],
	"m": [fortran90_rule17,],
	"n": [fortran90_rule17,],
	"o": [fortran90_rule17,],
	"p": [fortran90_rule17,],
	"q": [fortran90_rule17,],
	"r": [fortran90_rule17,],
	"s": [fortran90_rule17,],
	"t": [fortran90_rule17,],
	"u": [fortran90_rule17,],
	"v": [fortran90_rule17,],
	"w": [fortran90_rule17,],
	"x": [fortran90_rule17,],
	"y": [fortran90_rule17,],
	"z": [fortran90_rule17,],
}

# x.rulesDictDict for fortran90 mode.
rulesDictDict = {
	"fortran90_main": rulesDict1,
}

# Import dict for fortran90 mode.
importDict = {}

