text: # Leo colorizer control file for fortran mode.
  # This file is in the public domain.
  
  # Properties for fortran mode.
  properties = {
      "blockComment": "C",
      "indentNextLine": "\\s*((if\\s*\\(.*\\)\\s*then|else\\s*|do\\s*)*)",
      "wordBreakChars": ",+-=<>/?^&*",
  }
  
  # Attributes dict for fortran_main ruleset.
  fortran_main_attributes_dict = {
      "default": "null",
      "digit_re": "",
      "escape": "",
      "highlight_digits": "false",
      "ignore_case": "true",
      "no_word_sep": "",
  }
  
  # Dictionary of attributes dictionaries for fortran mode.
  attributesDictDict = {
      "fortran_main": fortran_main_attributes_dict,
  }
  
  # Keywords dict for fortran_main ruleset.
  fortran_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 fortran mode.
  keywordsDictDict = {
      "fortran_main": fortran_main_keywords_dict,
  }
  
  # Rules for fortran_main ruleset.
  
  def fortran_rule0(colorer, s, i):
      return colorer.match_eol_span(s, i, kind="comment1", seq="c",
          at_line_start=True, at_whitespace_end=False, at_word_start=False,
          delegate="", exclude_match=False)
  
  def fortran_rule1(colorer, s, i):
      return colorer.match_eol_span(s, i, kind="comment1", seq="C",
          at_line_start=True, at_whitespace_end=False, at_word_start=False,
          delegate="", exclude_match=False)
  
  def fortran_rule2(colorer, s, i):
      return colorer.match_eol_span(s, i, kind="comment1", seq="!",
          at_line_start=True, at_whitespace_end=False, at_word_start=False,
          delegate="", exclude_match=False)
  
  def fortran_rule3(colorer, s, i):
      return colorer.match_eol_span(s, i, kind="comment1", seq="*",
          at_line_start=True, at_whitespace_end=False, at_word_start=False,
          delegate="", exclude_match=False)
  
  def fortran_rule4(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 fortran_rule5(colorer, s, i):
      return colorer.match_eol_span(s, i, kind="comment2", seq="D",
          at_line_start=True, at_whitespace_end=False, at_word_start=False,
          delegate="", exclude_match=False)
  
  def fortran_rule6(colorer, s, i):
      return colorer.match_span(s, i, kind="literal1", begin="\"", end="\"",
          at_line_start=False, at_whitespace_end=False, at_word_start=False,
          delegate="",exclude_match=False,
          no_escape=False, no_line_break=False, no_word_break=False)
  
  def fortran_rule7(colorer, s, i):
      return colorer.match_span(s, i, kind="literal1", begin="'", end="'",
          at_line_start=False, at_whitespace_end=False, at_word_start=False,
          delegate="",exclude_match=False,
          no_escape=False, no_line_break=False, no_word_break=False)
  
  def fortran_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 fortran_rule9(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 fortran_rule10(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 fortran_rule11(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 fortran_rule12(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 fortran_rule13(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 fortran_rule14(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 fortran_rule15(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 fortran_rule16(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 fortran_rule17(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 fortran_rule18(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 fortran_rule19(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 fortran_rule20(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 fortran_rule21(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 fortran_rule22(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 fortran_rule23(colorer, s, i):
      return colorer.match_keywords(s, i)
  
  # Rules dict for fortran_main ruleset.
  rulesDict1 = {
      "!": [fortran_rule2,fortran_rule4,],
      "\"": [fortran_rule6,],
      "&": [fortran_rule12,],
      "'": [fortran_rule7,],
      "*": [fortran_rule3,],
      ".": [fortran_rule15,fortran_rule16,fortran_rule17,fortran_rule18,fortran_rule19,fortran_rule20,fortran_rule21,fortran_rule22,fortran_rule23,],
      "/": [fortran_rule13,],
      "0": [fortran_rule23,],
      "1": [fortran_rule23,],
      "2": [fortran_rule23,],
      "3": [fortran_rule23,],
      "4": [fortran_rule23,],
      "5": [fortran_rule23,],
      "6": [fortran_rule23,],
      "7": [fortran_rule23,],
      "8": [fortran_rule23,],
      "9": [fortran_rule23,],
      "<": [fortran_rule8,fortran_rule11,],
      "=": [fortran_rule14,],
      ">": [fortran_rule9,fortran_rule10,],
      "@": [fortran_rule23,],
      "A": [fortran_rule23,],
      "B": [fortran_rule23,],
      "C": [fortran_rule1,fortran_rule23,],
      "D": [fortran_rule5,fortran_rule23,],
      "E": [fortran_rule23,],
      "F": [fortran_rule23,],
      "G": [fortran_rule23,],
      "H": [fortran_rule23,],
      "I": [fortran_rule23,],
      "J": [fortran_rule23,],
      "K": [fortran_rule23,],
      "L": [fortran_rule23,],
      "M": [fortran_rule23,],
      "N": [fortran_rule23,],
      "O": [fortran_rule23,],
      "P": [fortran_rule23,],
      "Q": [fortran_rule23,],
      "R": [fortran_rule23,],
      "S": [fortran_rule23,],
      "T": [fortran_rule23,],
      "U": [fortran_rule23,],
      "V": [fortran_rule23,],
      "W": [fortran_rule23,],
      "X": [fortran_rule23,],
      "Y": [fortran_rule23,],
      "Z": [fortran_rule23,],
      "a": [fortran_rule23,],
      "b": [fortran_rule23,],
      "c": [fortran_rule0,fortran_rule23,],
      "d": [fortran_rule23,],
      "e": [fortran_rule23,],
      "f": [fortran_rule23,],
      "g": [fortran_rule23,],
      "h": [fortran_rule23,],
      "i": [fortran_rule23,],
      "j": [fortran_rule23,],
      "k": [fortran_rule23,],
      "l": [fortran_rule23,],
      "m": [fortran_rule23,],
      "n": [fortran_rule23,],
      "o": [fortran_rule23,],
      "p": [fortran_rule23,],
      "q": [fortran_rule23,],
      "r": [fortran_rule23,],
      "s": [fortran_rule23,],
      "t": [fortran_rule23,],
      "u": [fortran_rule23,],
      "v": [fortran_rule23,],
      "w": [fortran_rule23,],
      "x": [fortran_rule23,],
      "y": [fortran_rule23,],
      "z": [fortran_rule23,],
  }
  
  # x.rulesDictDict for fortran mode.
  rulesDictDict = {
      "fortran_main": rulesDict1,
  }
  
  # Import dict for fortran mode.
  importDict = {}
  
  