summaryrefslogtreecommitdiff
path: root/tests/lexers/sml/example.txt
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2021-01-18 21:24:00 +0100
committerGeorg Brandl <georg@python.org>2021-01-18 22:08:36 +0100
commit2a3d3a7d5b9c60dedf6638d876161d9563faebcf (patch)
tree809c0b4a686db98f5954afa1944404cd9652c6b2 /tests/lexers/sml/example.txt
parentf0445be718da83541ea3401aad882f3937147263 (diff)
downloadpygments-git-examplefiles.tar.gz
Move test_examplefiles to new tests/lexers scheme.examplefiles
Diffstat (limited to 'tests/lexers/sml/example.txt')
-rw-r--r--tests/lexers/sml/example.txt7265
1 files changed, 7265 insertions, 0 deletions
diff --git a/tests/lexers/sml/example.txt b/tests/lexers/sml/example.txt
new file mode 100644
index 00000000..f2b6f7e7
--- /dev/null
+++ b/tests/lexers/sml/example.txt
@@ -0,0 +1,7265 @@
+---input---
+(* Internal Syntax *)
+(* Author: Frank Pfenning, Carsten Schuermann *)
+(* Modified: Roberto Virga *)
+
+signature INTSYN =
+sig
+
+ type cid = int (* Constant identifier *)
+ type mid = int (* Structure identifier *)
+ type csid = int (* CS module identifier *)
+
+
+ type FgnExp = exn (* foreign expression representation *)
+ exception UnexpectedFgnExp of FgnExp
+ (* raised by a constraint solver
+ if passed an incorrect arg *)
+ type FgnCnstr = exn (* foreign constraint representation *)
+ exception UnexpectedFgnCnstr of FgnCnstr
+ (* raised by a constraint solver
+ if passed an incorrect arg *)
+
+ (* Contexts *)
+
+ datatype 'a Ctx = (* Contexts *)
+ Null (* G ::= . *)
+ | Decl of 'a Ctx * 'a (* | G, D *)
+
+ val ctxPop : 'a Ctx -> 'a Ctx
+ val ctxLookup: 'a Ctx * int -> 'a
+ val ctxLength: 'a Ctx -> int
+
+ datatype Depend = (* Dependency information *)
+ No (* P ::= No *)
+ | Maybe (* | Maybe *)
+ | Meta (* | Meta *)
+
+ (* expressions *)
+
+ datatype Uni = (* Universes: *)
+ Kind (* L ::= Kind *)
+ | Type (* | Type *)
+
+ datatype Exp = (* Expressions: *)
+ Uni of Uni (* U ::= L *)
+ | Pi of (Dec * Depend) * Exp (* | Pi (D, P). V *)
+ | Root of Head * Spine (* | H @ S *)
+ | Redex of Exp * Spine (* | U @ S *)
+ | Lam of Dec * Exp (* | lam D. U *)
+ | EVar of Exp option ref * Dec Ctx * Exp * (Cnstr ref) list ref
+ (* | X<I> : G|-V, Cnstr *)
+ | EClo of Exp * Sub (* | U[s] *)
+ | AVar of Exp option ref (* | A<I> *)
+
+ | FgnExp of csid * FgnExp (* | (foreign expression) *)
+
+ | NVar of int (* | n (linear,
+ fully applied variable
+ used in indexing *)
+
+ and Head = (* Head: *)
+ BVar of int (* H ::= k *)
+ | Const of cid (* | c *)
+ | Proj of Block * int (* | #k(b) *)
+ | Skonst of cid (* | c# *)
+ | Def of cid (* | d (strict) *)
+ | NSDef of cid (* | d (non strict) *)
+ | FVar of string * Exp * Sub (* | F[s] *)
+ | FgnConst of csid * ConDec (* | (foreign constant) *)
+
+ and Spine = (* Spines: *)
+ Nil (* S ::= Nil *)
+ | App of Exp * Spine (* | U ; S *)
+ | SClo of Spine * Sub (* | S[s] *)
+
+ and Sub = (* Explicit substitutions: *)
+ Shift of int (* s ::= ^n *)
+ | Dot of Front * Sub (* | Ft.s *)
+
+ and Front = (* Fronts: *)
+ Idx of int (* Ft ::= k *)
+ | Exp of Exp (* | U *)
+ | Axp of Exp (* | U *)
+ | Block of Block (* | _x *)
+ | Undef (* | _ *)
+
+ and Dec = (* Declarations: *)
+ Dec of string option * Exp (* D ::= x:V *)
+ | BDec of string option * (cid * Sub) (* | v:l[s] *)
+ | ADec of string option * int (* | v[^-d] *)
+ | NDec of string option
+
+ and Block = (* Blocks: *)
+ Bidx of int (* b ::= v *)
+ | LVar of Block option ref * Sub * (cid * Sub)
+ (* | L(l[^k],t) *)
+ | Inst of Exp list (* | U1, ..., Un *)
+ (* It would be better to consider having projections count
+ like substitutions, then we could have Inst of Sub here,
+ which would simplify a lot of things.
+
+ I suggest however to wait until the next big overhaul
+ of the system -- cs *)
+
+
+(* | BClo of Block * Sub (* | b[s] *) *)
+
+ (* constraints *)
+
+ and Cnstr = (* Constraint: *)
+ Solved (* Cnstr ::= solved *)
+ | Eqn of Dec Ctx * Exp * Exp (* | G|-(U1 == U2) *)
+ | FgnCnstr of csid * FgnCnstr (* | (foreign) *)
+
+ and Status = (* Status of a constant: *)
+ Normal (* inert *)
+ | Constraint of csid * (Dec Ctx * Spine * int -> Exp option)
+ (* acts as constraint *)
+ | Foreign of csid * (Spine -> Exp) (* is converted to foreign *)
+
+ and FgnUnify = (* Result of foreign unify *)
+ Succeed of FgnUnifyResidual list
+ (* succeed with a list of residual operations *)
+ | Fail
+
+ and FgnUnifyResidual =
+ Assign of Dec Ctx * Exp * Exp * Sub
+ (* perform the assignment G |- X = U [ss] *)
+ | Delay of Exp * Cnstr ref
+ (* delay cnstr, associating it with all the rigid EVars in U *)
+
+ (* Global signature *)
+
+ and ConDec = (* Constant declaration *)
+ ConDec of string * mid option * int * Status
+ (* a : K : kind or *)
+ * Exp * Uni (* c : A : type *)
+ | ConDef of string * mid option * int (* a = A : K : kind or *)
+ * Exp * Exp * Uni (* d = M : A : type *)
+ * Ancestor (* Ancestor info for d or a *)
+ | AbbrevDef of string * mid option * int
+ (* a = A : K : kind or *)
+ * Exp * Exp * Uni (* d = M : A : type *)
+ | BlockDec of string * mid option (* %block l : SOME G1 PI G2 *)
+ * Dec Ctx * Dec list
+ | BlockDef of string * mid option * cid list
+ (* %block l = (l1 | ... | ln) *)
+ | SkoDec of string * mid option * int (* sa: K : kind or *)
+ * Exp * Uni (* sc: A : type *)
+
+ and Ancestor = (* Ancestor of d or a *)
+ Anc of cid option * int * cid option (* head(expand(d)), height, head(expand[height](d)) *)
+ (* NONE means expands to {x:A}B *)
+
+ datatype StrDec = (* Structure declaration *)
+ StrDec of string * mid option
+
+ (* Form of constant declaration *)
+ datatype ConDecForm =
+ FromCS (* from constraint domain *)
+ | Ordinary (* ordinary declaration *)
+ | Clause (* %clause declaration *)
+
+ (* Type abbreviations *)
+ type dctx = Dec Ctx (* G = . | G,D *)
+ type eclo = Exp * Sub (* Us = U[s] *)
+ type bclo = Block * Sub (* Bs = B[s] *)
+ type cnstr = Cnstr ref
+
+ exception Error of string (* raised if out of space *)
+
+ (* standard operations on foreign expressions *)
+ structure FgnExpStd : sig
+ (* convert to internal syntax *)
+ structure ToInternal : FGN_OPN where type arg = unit
+ where type result = Exp
+
+ (* apply function to subterms *)
+ structure Map : FGN_OPN where type arg = Exp -> Exp
+ where type result = Exp
+
+ (* apply function to subterms, for effect *)
+ structure App : FGN_OPN where type arg = Exp -> unit
+ where type result = unit
+
+ (* test for equality *)
+ structure EqualTo : FGN_OPN where type arg = Exp
+ where type result = bool
+
+ (* unify with another term *)
+ structure UnifyWith : FGN_OPN where type arg = Dec Ctx * Exp
+ where type result = FgnUnify
+
+ (* fold a function over the subterms *)
+ val fold : (csid * FgnExp) -> (Exp * 'a -> 'a) -> 'a -> 'a
+ end
+
+ (* standard operations on foreign constraints *)
+ structure FgnCnstrStd : sig
+ (* convert to internal syntax *)
+ structure ToInternal : FGN_OPN where type arg = unit
+ where type result = (Dec Ctx * Exp) list
+
+ (* awake *)
+ structure Awake : FGN_OPN where type arg = unit
+ where type result = bool
+
+ (* simplify *)
+ structure Simplify : FGN_OPN where type arg = unit
+ where type result = bool
+ end
+
+ val conDecName : ConDec -> string
+ val conDecParent : ConDec -> mid option
+ val conDecImp : ConDec -> int
+ val conDecStatus : ConDec -> Status
+ val conDecType : ConDec -> Exp
+ val conDecBlock : ConDec -> dctx * Dec list
+ val conDecUni : ConDec -> Uni
+
+ val strDecName : StrDec -> string
+ val strDecParent : StrDec -> mid option
+
+ val sgnReset : unit -> unit
+ val sgnSize : unit -> cid * mid
+
+ val sgnAdd : ConDec -> cid
+ val sgnLookup: cid -> ConDec
+ val sgnApp : (cid -> unit) -> unit
+
+ val sgnStructAdd : StrDec -> mid
+ val sgnStructLookup : mid -> StrDec
+
+ val constType : cid -> Exp (* type of c or d *)
+ val constDef : cid -> Exp (* definition of d *)
+ val constImp : cid -> int
+ val constStatus : cid -> Status
+ val constUni : cid -> Uni
+ val constBlock : cid -> dctx * Dec list
+
+ (* Declaration Contexts *)
+
+ val ctxDec : dctx * int -> Dec (* get variable declaration *)
+ val blockDec : dctx * Block * int -> Dec
+
+ (* Explicit substitutions *)
+
+ val id : Sub (* id *)
+ val shift : Sub (* ^ *)
+ val invShift : Sub (* ^-1 *)
+
+ val bvarSub : int * Sub -> Front (* k[s] *)
+ val frontSub : Front * Sub -> Front (* H[s] *)
+ val decSub : Dec * Sub -> Dec (* x:V[s] *)
+ val blockSub : Block * Sub -> Block (* B[s] *)
+
+ val comp : Sub * Sub -> Sub (* s o s' *)
+ val dot1 : Sub -> Sub (* 1 . (s o ^) *)
+ val invDot1 : Sub -> Sub (* (^ o s) o ^-1) *)
+
+ (* EVar related functions *)
+
+ val newEVar : dctx * Exp -> Exp (* creates X:G|-V, [] *)
+ val newAVar : unit -> Exp (* creates A (bare) *)
+ val newTypeVar : dctx -> Exp (* creates X:G|-type, [] *)
+ val newLVar : Sub * (cid * Sub) -> Block
+ (* creates B:(l[^k],t) *)
+
+ (* Definition related functions *)
+ val headOpt : Exp -> Head option
+ val ancestor : Exp -> Ancestor
+ val defAncestor : cid -> Ancestor
+
+ (* Type related functions *)
+
+ (* Not expanding type definitions *)
+ val targetHeadOpt : Exp -> Head option (* target type family or NONE *)
+ val targetHead : Exp -> Head (* target type family *)
+
+ (* Expanding type definitions *)
+ val targetFamOpt : Exp -> cid option (* target type family or NONE *)
+ val targetFam : Exp -> cid (* target type family *)
+
+ (* Used in Flit *)
+ val rename : cid * string -> unit
+
+end; (* signature INTSYN *)
+
+---tokens---
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'I' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+'e' Comment.Multiline
+'r' Comment.Multiline
+'n' Comment.Multiline
+'a' Comment.Multiline
+'l' Comment.Multiline
+' ' Comment.Multiline
+'S' Comment.Multiline
+'y' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+'a' Comment.Multiline
+'x' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+' \n' Text
+
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'A' Comment.Multiline
+'u' Comment.Multiline
+'t' Comment.Multiline
+'h' Comment.Multiline
+'o' Comment.Multiline
+'r' Comment.Multiline
+':' Comment.Multiline
+' ' Comment.Multiline
+'F' Comment.Multiline
+'r' Comment.Multiline
+'a' Comment.Multiline
+'n' Comment.Multiline
+'k' Comment.Multiline
+' ' Comment.Multiline
+'P' Comment.Multiline
+'f' Comment.Multiline
+'e' Comment.Multiline
+'n' Comment.Multiline
+'n' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'g' Comment.Multiline
+',' Comment.Multiline
+' ' Comment.Multiline
+'C' Comment.Multiline
+'a' Comment.Multiline
+'r' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+'e' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'S' Comment.Multiline
+'c' Comment.Multiline
+'h' Comment.Multiline
+'u' Comment.Multiline
+'e' Comment.Multiline
+'r' Comment.Multiline
+'m' Comment.Multiline
+'a' Comment.Multiline
+'n' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n' Text
+
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'M' Comment.Multiline
+'o' Comment.Multiline
+'d' Comment.Multiline
+'i' Comment.Multiline
+'f' Comment.Multiline
+'i' Comment.Multiline
+'e' Comment.Multiline
+'d' Comment.Multiline
+':' Comment.Multiline
+' ' Comment.Multiline
+'R' Comment.Multiline
+'o' Comment.Multiline
+'b' Comment.Multiline
+'e' Comment.Multiline
+'r' Comment.Multiline
+'t' Comment.Multiline
+'o' Comment.Multiline
+' ' Comment.Multiline
+'V' Comment.Multiline
+'i' Comment.Multiline
+'r' Comment.Multiline
+'g' Comment.Multiline
+'a' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n' Text
+
+'signature' Keyword.Reserved
+' ' Text
+'INTSYN' Name.Namespace
+' ' Text
+'=' Punctuation
+'\n' Text
+
+'sig' Keyword.Reserved
+'\n\n ' Text
+'type' Keyword.Reserved
+' ' Text
+'cid' Keyword.Type
+' ' Text
+'=' Punctuation
+' ' Text
+'int' Name
+'\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'C' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+'a' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'i' Comment.Multiline
+'d' Comment.Multiline
+'e' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'f' Comment.Multiline
+'i' Comment.Multiline
+'e' Comment.Multiline
+'r' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'' Text
+'type' Keyword.Reserved
+' ' Text
+'mid' Keyword.Type
+' ' Text
+'=' Punctuation
+' ' Text
+'int' Name
+' ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'S' Comment.Multiline
+'t' Comment.Multiline
+'r' Comment.Multiline
+'u' Comment.Multiline
+'c' Comment.Multiline
+'t' Comment.Multiline
+'u' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+'i' Comment.Multiline
+'d' Comment.Multiline
+'e' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'f' Comment.Multiline
+'i' Comment.Multiline
+'e' Comment.Multiline
+'r' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'' Text
+'type' Keyword.Reserved
+' ' Text
+'csid' Keyword.Type
+' ' Text
+'=' Punctuation
+' ' Text
+'int' Name
+' ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'C' Comment.Multiline
+'S' Comment.Multiline
+' ' Comment.Multiline
+'m' Comment.Multiline
+'o' Comment.Multiline
+'d' Comment.Multiline
+'u' Comment.Multiline
+'l' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+'i' Comment.Multiline
+'d' Comment.Multiline
+'e' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'f' Comment.Multiline
+'i' Comment.Multiline
+'e' Comment.Multiline
+'r' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n\n ' Text
+'' Text
+'type' Keyword.Reserved
+' ' Text
+'FgnExp' Keyword.Type
+' ' Text
+'=' Punctuation
+' ' Text
+'exn' Name
+' ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'f' Comment.Multiline
+'o' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+'i' Comment.Multiline
+'g' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'e' Comment.Multiline
+'x' Comment.Multiline
+'p' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+'s' Comment.Multiline
+'s' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+'p' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+'s' Comment.Multiline
+'e' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+'a' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'' Text
+'exception' Keyword.Reserved
+' ' Text
+'UnexpectedFgnExp' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'FgnExp' Name.Class
+'\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'r' Comment.Multiline
+'a' Comment.Multiline
+'i' Comment.Multiline
+'s' Comment.Multiline
+'e' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+'b' Comment.Multiline
+'y' Comment.Multiline
+' ' Comment.Multiline
+'a' Comment.Multiline
+' ' Comment.Multiline
+'c' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+'r' Comment.Multiline
+'a' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'s' Comment.Multiline
+'o' Comment.Multiline
+'l' Comment.Multiline
+'v' Comment.Multiline
+'e' Comment.Multiline
+'r' Comment.Multiline
+'\n' Comment.Multiline
+
+'\t' Comment.Multiline
+'\t' Comment.Multiline
+'\t' Comment.Multiline
+'\t' Comment.Multiline
+'\t' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'i' Comment.Multiline
+'f' Comment.Multiline
+' ' Comment.Multiline
+'p' Comment.Multiline
+'a' Comment.Multiline
+'s' Comment.Multiline
+'s' Comment.Multiline
+'e' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+'a' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'c' Comment.Multiline
+'o' Comment.Multiline
+'r' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+'c' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'a' Comment.Multiline
+'r' Comment.Multiline
+'g' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'type' Name.Class
+' ' Text
+'FgnCnstr' Name.Class
+' ' Text
+'=' Name.Class
+' ' Text
+'exn' Name.Class
+' ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'f' Comment.Multiline
+'o' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+'i' Comment.Multiline
+'g' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'c' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+'r' Comment.Multiline
+'a' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+'p' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+'s' Comment.Multiline
+'e' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+'a' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'exception' Name.Class
+' ' Text
+'UnexpectedFgnCnstr' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'FgnCnstr' Name.Class
+'\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'r' Comment.Multiline
+'a' Comment.Multiline
+'i' Comment.Multiline
+'s' Comment.Multiline
+'e' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+'b' Comment.Multiline
+'y' Comment.Multiline
+' ' Comment.Multiline
+'a' Comment.Multiline
+' ' Comment.Multiline
+'c' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+'r' Comment.Multiline
+'a' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'s' Comment.Multiline
+'o' Comment.Multiline
+'l' Comment.Multiline
+'v' Comment.Multiline
+'e' Comment.Multiline
+'r' Comment.Multiline
+'\n' Comment.Multiline
+
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'i' Comment.Multiline
+'f' Comment.Multiline
+' ' Comment.Multiline
+'p' Comment.Multiline
+'a' Comment.Multiline
+'s' Comment.Multiline
+'s' Comment.Multiline
+'e' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+'a' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'c' Comment.Multiline
+'o' Comment.Multiline
+'r' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+'c' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'a' Comment.Multiline
+'r' Comment.Multiline
+'g' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'C' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+'e' Comment.Multiline
+'x' Comment.Multiline
+'t' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'datatype' Name.Class
+' ' Text
+"'a" Name.Decorator
+' ' Text
+'Ctx' Name
+' ' Text
+'=' Punctuation
+'\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'C' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+'e' Comment.Multiline
+'x' Comment.Multiline
+'t' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'Null' Name
+'\t\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'G' Comment.Multiline
+' ' Comment.Multiline
+':' Comment.Multiline
+':' Comment.Multiline
+'=' Comment.Multiline
+' ' Comment.Multiline
+'.' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Name
+' ' Text
+'Decl' Name
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+"'a" Name.Decorator
+' ' Text
+'Ctx' Name
+' ' Text
+'*' Name
+' ' Text
+"'a" Name.Decorator
+'\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'G' Comment.Multiline
+',' Comment.Multiline
+' ' Comment.Multiline
+'D' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n \n ' Text
+'val' Keyword.Reserved
+' ' Text
+'ctxPop' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+"'a" Name.Decorator
+' ' Text
+'Ctx' Name
+' ' Text
+'->' Punctuation
+' ' Text
+"'a" Name.Decorator
+' ' Text
+'Ctx' Name
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'ctxLookup' Name.Variable
+':' Punctuation
+' ' Text
+"'a" Name.Decorator
+' ' Text
+'Ctx' Name
+' ' Text
+'*' Name
+' ' Text
+'int' Name
+' ' Text
+'->' Punctuation
+' ' Text
+"'a" Name.Decorator
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'ctxLength' Name.Variable
+':' Punctuation
+' ' Text
+"'a" Name.Decorator
+' ' Text
+'Ctx' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'int' Name
+'\n\n ' Text
+'datatype' Keyword.Reserved
+' ' Text
+'Depend' Keyword.Type
+' ' Text
+'=' Punctuation
+' ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'D' Comment.Multiline
+'e' Comment.Multiline
+'p' Comment.Multiline
+'e' Comment.Multiline
+'n' Comment.Multiline
+'d' Comment.Multiline
+'e' Comment.Multiline
+'n' Comment.Multiline
+'c' Comment.Multiline
+'y' Comment.Multiline
+' ' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'f' Comment.Multiline
+'o' Comment.Multiline
+'r' Comment.Multiline
+'m' Comment.Multiline
+'a' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'No' Name.Class
+' ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'P' Comment.Multiline
+' ' Comment.Multiline
+':' Comment.Multiline
+':' Comment.Multiline
+'=' Comment.Multiline
+' ' Comment.Multiline
+'N' Comment.Multiline
+'o' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'Maybe' Name.Class
+' ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'M' Comment.Multiline
+'a' Comment.Multiline
+'y' Comment.Multiline
+'b' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'Meta' Name.Class
+'\t\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'M' Comment.Multiline
+'e' Comment.Multiline
+'t' Comment.Multiline
+'a' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'e' Comment.Multiline
+'x' Comment.Multiline
+'p' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+'s' Comment.Multiline
+'s' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'' Text
+'datatype' Keyword.Reserved
+' ' Text
+'Uni' Keyword.Type
+' ' Text
+'=' Punctuation
+'\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'U' Comment.Multiline
+'n' Comment.Multiline
+'i' Comment.Multiline
+'v' Comment.Multiline
+'e' Comment.Multiline
+'r' Comment.Multiline
+'s' Comment.Multiline
+'e' Comment.Multiline
+'s' Comment.Multiline
+':' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'Kind' Name.Class
+'\t\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'L' Comment.Multiline
+' ' Comment.Multiline
+':' Comment.Multiline
+':' Comment.Multiline
+'=' Comment.Multiline
+' ' Comment.Multiline
+'K' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'Type' Name.Class
+'\t\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'T' Comment.Multiline
+'y' Comment.Multiline
+'p' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'' Text
+'datatype' Keyword.Reserved
+' ' Text
+'Exp' Keyword.Type
+' ' Text
+'=' Punctuation
+'\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'E' Comment.Multiline
+'x' Comment.Multiline
+'p' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+'s' Comment.Multiline
+'s' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+':' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'Uni' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'Uni' Name
+'\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'U' Comment.Multiline
+' ' Comment.Multiline
+':' Comment.Multiline
+':' Comment.Multiline
+'=' Comment.Multiline
+' ' Comment.Multiline
+'L' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'Pi' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'(' Punctuation
+'Dec' Name
+' ' Text
+'*' Name
+' ' Text
+'Depend' Name
+')' Punctuation
+' ' Text
+'*' Name
+' ' Text
+'Exp' Name
+'\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'P' Comment.Multiline
+'i' Comment.Multiline
+' ' Comment.Multiline
+'(' Comment.Multiline
+'D' Comment.Multiline
+',' Comment.Multiline
+' ' Comment.Multiline
+'P' Comment.Multiline
+')' Comment.Multiline
+'.' Comment.Multiline
+' ' Comment.Multiline
+'V' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'Root' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'Head' Name
+' ' Text
+'*' Name
+' ' Text
+'Spine' Name
+'\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'H' Comment.Multiline
+' ' Comment.Multiline
+'@' Comment.Multiline
+' ' Comment.Multiline
+'S' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'Redex' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'Exp' Name
+' ' Text
+'*' Name
+' ' Text
+'Spine' Name
+'\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'U' Comment.Multiline
+' ' Comment.Multiline
+'@' Comment.Multiline
+' ' Comment.Multiline
+'S' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'Lam' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'Dec' Name
+' ' Text
+'*' Name
+' ' Text
+'Exp' Name
+'\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'l' Comment.Multiline
+'a' Comment.Multiline
+'m' Comment.Multiline
+' ' Comment.Multiline
+'D' Comment.Multiline
+'.' Comment.Multiline
+' ' Comment.Multiline
+'U' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'EVar' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'Exp' Name
+' ' Text
+'option' Name
+' ' Text
+'ref' Name
+' ' Text
+'*' Name
+' ' Text
+'Dec' Name
+' ' Text
+'Ctx' Name
+' ' Text
+'*' Name
+' ' Text
+'Exp' Name
+' ' Text
+'*' Name
+' ' Text
+'(' Punctuation
+'Cnstr' Name
+' ' Text
+'ref' Name
+')' Punctuation
+' ' Text
+'list' Name
+' ' Text
+'ref' Name
+'\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'X' Comment.Multiline
+'<' Comment.Multiline
+'I' Comment.Multiline
+'>' Comment.Multiline
+' ' Comment.Multiline
+':' Comment.Multiline
+' ' Comment.Multiline
+'G' Comment.Multiline
+'|' Comment.Multiline
+'-' Comment.Multiline
+'V' Comment.Multiline
+',' Comment.Multiline
+' ' Comment.Multiline
+'C' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+'r' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'EClo' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'Exp' Name
+' ' Text
+'*' Name
+' ' Text
+'Sub' Name
+'\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'U' Comment.Multiline
+'[' Comment.Multiline
+'s' Comment.Multiline
+']' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'AVar' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'Exp' Name
+' ' Text
+'option' Name
+' ' Text
+'ref' Name
+' ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'A' Comment.Multiline
+'<' Comment.Multiline
+'I' Comment.Multiline
+'>' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'|' Punctuation
+' ' Text
+'FgnExp' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'csid' Name
+' ' Text
+'*' Name
+' ' Text
+'FgnExp' Name
+' ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'(' Comment.Multiline
+'f' Comment.Multiline
+'o' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+'i' Comment.Multiline
+'g' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'e' Comment.Multiline
+'x' Comment.Multiline
+'p' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+'s' Comment.Multiline
+'s' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+')' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'|' Punctuation
+' ' Text
+'NVar' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'int' Name
+'\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'(' Comment.Multiline
+'l' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'e' Comment.Multiline
+'a' Comment.Multiline
+'r' Comment.Multiline
+',' Comment.Multiline
+' ' Comment.Multiline
+'\n' Comment.Multiline
+
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'f' Comment.Multiline
+'u' Comment.Multiline
+'l' Comment.Multiline
+'l' Comment.Multiline
+'y' Comment.Multiline
+' ' Comment.Multiline
+'a' Comment.Multiline
+'p' Comment.Multiline
+'p' Comment.Multiline
+'l' Comment.Multiline
+'i' Comment.Multiline
+'e' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+'v' Comment.Multiline
+'a' Comment.Multiline
+'r' Comment.Multiline
+'i' Comment.Multiline
+'a' Comment.Multiline
+'b' Comment.Multiline
+'l' Comment.Multiline
+'e' Comment.Multiline
+'\n' Comment.Multiline
+
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'u' Comment.Multiline
+'s' Comment.Multiline
+'e' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'d' Comment.Multiline
+'e' Comment.Multiline
+'x' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'g' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'and' Keyword.Reserved
+' ' Text
+'Head' Keyword.Type
+' ' Text
+'=' Punctuation
+'\t\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'H' Comment.Multiline
+'e' Comment.Multiline
+'a' Comment.Multiline
+'d' Comment.Multiline
+':' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'BVar' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'int' Name
+'\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'H' Comment.Multiline
+' ' Comment.Multiline
+':' Comment.Multiline
+':' Comment.Multiline
+'=' Comment.Multiline
+' ' Comment.Multiline
+'k' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'Const' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'cid' Name
+'\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'c' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'Proj' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'Block' Name
+' ' Text
+'*' Name
+' ' Text
+'int' Name
+'\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'#' Comment.Multiline
+'k' Comment.Multiline
+'(' Comment.Multiline
+'b' Comment.Multiline
+')' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'Skonst' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'cid' Name
+'\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'c' Comment.Multiline
+'#' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'Def' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'cid' Name
+'\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+'(' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+'r' Comment.Multiline
+'i' Comment.Multiline
+'c' Comment.Multiline
+'t' Comment.Multiline
+')' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'NSDef' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'cid' Name
+'\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+'(' Comment.Multiline
+'n' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+'r' Comment.Multiline
+'i' Comment.Multiline
+'c' Comment.Multiline
+'t' Comment.Multiline
+')' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'FVar' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'string' Name
+' ' Text
+'*' Name
+' ' Text
+'Exp' Name
+' ' Text
+'*' Name
+' ' Text
+'Sub' Name
+'\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'F' Comment.Multiline
+'[' Comment.Multiline
+'s' Comment.Multiline
+']' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'FgnConst' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'csid' Name
+' ' Text
+'*' Name
+' ' Text
+'ConDec' Name
+' ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'(' Comment.Multiline
+'f' Comment.Multiline
+'o' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+'i' Comment.Multiline
+'g' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'c' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+'a' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+')' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'and' Keyword.Reserved
+' ' Text
+'Spine' Keyword.Type
+' ' Text
+'=' Punctuation
+'\t\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'S' Comment.Multiline
+'p' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'e' Comment.Multiline
+'s' Comment.Multiline
+':' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'Nil' Name.Class
+'\t\t\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'S' Comment.Multiline
+' ' Comment.Multiline
+':' Comment.Multiline
+':' Comment.Multiline
+'=' Comment.Multiline
+' ' Comment.Multiline
+'N' Comment.Multiline
+'i' Comment.Multiline
+'l' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'App' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'Exp' Name
+' ' Text
+'*' Name
+' ' Text
+'Spine' Name
+'\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'U' Comment.Multiline
+' ' Comment.Multiline
+';' Comment.Multiline
+' ' Comment.Multiline
+'S' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'SClo' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'Spine' Name
+' ' Text
+'*' Name
+' ' Text
+'Sub' Name
+'\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'S' Comment.Multiline
+'[' Comment.Multiline
+'s' Comment.Multiline
+']' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'and' Keyword.Reserved
+' ' Text
+'Sub' Keyword.Type
+' ' Text
+'=' Punctuation
+'\t\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'E' Comment.Multiline
+'x' Comment.Multiline
+'p' Comment.Multiline
+'l' Comment.Multiline
+'i' Comment.Multiline
+'c' Comment.Multiline
+'i' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'s' Comment.Multiline
+'u' Comment.Multiline
+'b' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'t' Comment.Multiline
+'u' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+':' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'Shift' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'int' Name
+'\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+':' Comment.Multiline
+':' Comment.Multiline
+'=' Comment.Multiline
+' ' Comment.Multiline
+'^' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'Dot' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'Front' Name
+' ' Text
+'*' Name
+' ' Text
+'Sub' Name
+'\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'F' Comment.Multiline
+'t' Comment.Multiline
+'.' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'and' Keyword.Reserved
+' ' Text
+'Front' Keyword.Type
+' ' Text
+'=' Punctuation
+'\t\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'F' Comment.Multiline
+'r' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+'s' Comment.Multiline
+':' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'Idx' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'int' Name
+'\t\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'F' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+':' Comment.Multiline
+':' Comment.Multiline
+'=' Comment.Multiline
+' ' Comment.Multiline
+'k' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'Exp' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'Exp' Name
+'\t\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'U' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'Axp' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'Exp' Name
+'\t\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'U' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'Block' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'Block' Name
+'\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'_' Comment.Multiline
+'x' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'Undef' Name.Class
+'\t\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'_' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'and' Keyword.Reserved
+' ' Text
+'Dec' Keyword.Type
+' ' Text
+'=' Punctuation
+'\t\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'D' Comment.Multiline
+'e' Comment.Multiline
+'c' Comment.Multiline
+'l' Comment.Multiline
+'a' Comment.Multiline
+'r' Comment.Multiline
+'a' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+':' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'Dec' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'string' Name
+' ' Text
+'option' Name
+' ' Text
+'*' Name
+' ' Text
+'Exp' Name
+'\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'D' Comment.Multiline
+' ' Comment.Multiline
+':' Comment.Multiline
+':' Comment.Multiline
+'=' Comment.Multiline
+' ' Comment.Multiline
+'x' Comment.Multiline
+':' Comment.Multiline
+'V' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'BDec' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'string' Name
+' ' Text
+'option' Name
+' ' Text
+'*' Name
+' ' Text
+'(' Punctuation
+'cid' Name
+' ' Text
+'*' Name
+' ' Text
+'Sub' Name
+')' Punctuation
+'\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'v' Comment.Multiline
+':' Comment.Multiline
+'l' Comment.Multiline
+'[' Comment.Multiline
+'s' Comment.Multiline
+']' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'ADec' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'string' Name
+' ' Text
+'option' Name
+' ' Text
+'*' Name
+' ' Text
+'int' Name
+'\t ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'v' Comment.Multiline
+'[' Comment.Multiline
+'^' Comment.Multiline
+'-' Comment.Multiline
+'d' Comment.Multiline
+']' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'NDec' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'string' Name
+' ' Text
+'option' Name
+' \n\n ' Text
+'and' Keyword.Reserved
+' ' Text
+'Block' Keyword.Type
+' ' Text
+'=' Punctuation
+'\t\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'B' Comment.Multiline
+'l' Comment.Multiline
+'o' Comment.Multiline
+'c' Comment.Multiline
+'k' Comment.Multiline
+'s' Comment.Multiline
+':' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'Bidx' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'int' Name
+'\t\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'b' Comment.Multiline
+' ' Comment.Multiline
+':' Comment.Multiline
+':' Comment.Multiline
+'=' Comment.Multiline
+' ' Comment.Multiline
+'v' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'LVar' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'Block' Name
+' ' Text
+'option' Name
+' ' Text
+'ref' Name
+' ' Text
+'*' Name
+' ' Text
+'Sub' Name
+' ' Text
+'*' Name
+' ' Text
+'(' Punctuation
+'cid' Name
+' ' Text
+'*' Name
+' ' Text
+'Sub' Name
+')' Punctuation
+'\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'L' Comment.Multiline
+'(' Comment.Multiline
+'l' Comment.Multiline
+'[' Comment.Multiline
+'^' Comment.Multiline
+'k' Comment.Multiline
+']' Comment.Multiline
+',' Comment.Multiline
+'t' Comment.Multiline
+')' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'Inst' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'Exp' Name
+' ' Text
+'list' Name
+' ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'U' Comment.Multiline
+'1' Comment.Multiline
+',' Comment.Multiline
+' ' Comment.Multiline
+'.' Comment.Multiline
+'.' Comment.Multiline
+'.' Comment.Multiline
+',' Comment.Multiline
+' ' Comment.Multiline
+'U' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'I' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'w' Comment.Multiline
+'o' Comment.Multiline
+'u' Comment.Multiline
+'l' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+'b' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+'b' Comment.Multiline
+'e' Comment.Multiline
+'t' Comment.Multiline
+'t' Comment.Multiline
+'e' Comment.Multiline
+'r' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'o' Comment.Multiline
+' ' Comment.Multiline
+'c' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+'i' Comment.Multiline
+'d' Comment.Multiline
+'e' Comment.Multiline
+'r' Comment.Multiline
+' ' Comment.Multiline
+'h' Comment.Multiline
+'a' Comment.Multiline
+'v' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'g' Comment.Multiline
+' ' Comment.Multiline
+'p' Comment.Multiline
+'r' Comment.Multiline
+'o' Comment.Multiline
+'j' Comment.Multiline
+'e' Comment.Multiline
+'c' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'c' Comment.Multiline
+'o' Comment.Multiline
+'u' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+'\n' Comment.Multiline
+
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'l' Comment.Multiline
+'i' Comment.Multiline
+'k' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+'s' Comment.Multiline
+'u' Comment.Multiline
+'b' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'t' Comment.Multiline
+'u' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+',' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'h' Comment.Multiline
+'e' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'w' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+'c' Comment.Multiline
+'o' Comment.Multiline
+'u' Comment.Multiline
+'l' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+'h' Comment.Multiline
+'a' Comment.Multiline
+'v' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+'I' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+'f' Comment.Multiline
+' ' Comment.Multiline
+'S' Comment.Multiline
+'u' Comment.Multiline
+'b' Comment.Multiline
+' ' Comment.Multiline
+'h' Comment.Multiline
+'e' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+',' Comment.Multiline
+' ' Comment.Multiline
+'\n' Comment.Multiline
+
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'w' Comment.Multiline
+'h' Comment.Multiline
+'i' Comment.Multiline
+'c' Comment.Multiline
+'h' Comment.Multiline
+' ' Comment.Multiline
+'w' Comment.Multiline
+'o' Comment.Multiline
+'u' Comment.Multiline
+'l' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+'s' Comment.Multiline
+'i' Comment.Multiline
+'m' Comment.Multiline
+'p' Comment.Multiline
+'l' Comment.Multiline
+'i' Comment.Multiline
+'f' Comment.Multiline
+'y' Comment.Multiline
+' ' Comment.Multiline
+'a' Comment.Multiline
+' ' Comment.Multiline
+'l' Comment.Multiline
+'o' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+'f' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'h' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'g' Comment.Multiline
+'s' Comment.Multiline
+'.' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'\n' Comment.Multiline
+
+'\n' Comment.Multiline
+
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'I' Comment.Multiline
+' ' Comment.Multiline
+'s' Comment.Multiline
+'u' Comment.Multiline
+'g' Comment.Multiline
+'g' Comment.Multiline
+'e' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'h' Comment.Multiline
+'o' Comment.Multiline
+'w' Comment.Multiline
+'e' Comment.Multiline
+'v' Comment.Multiline
+'e' Comment.Multiline
+'r' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'o' Comment.Multiline
+' ' Comment.Multiline
+'w' Comment.Multiline
+'a' Comment.Multiline
+'i' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'u' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'l' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'h' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+'n' Comment.Multiline
+'e' Comment.Multiline
+'x' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'b' Comment.Multiline
+'i' Comment.Multiline
+'g' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+'v' Comment.Multiline
+'e' Comment.Multiline
+'r' Comment.Multiline
+'h' Comment.Multiline
+'a' Comment.Multiline
+'u' Comment.Multiline
+'l' Comment.Multiline
+' ' Comment.Multiline
+'\n' Comment.Multiline
+
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+'f' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'h' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+'s' Comment.Multiline
+'y' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+'e' Comment.Multiline
+'m' Comment.Multiline
+' ' Comment.Multiline
+'-' Comment.Multiline
+'-' Comment.Multiline
+' ' Comment.Multiline
+'c' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n\n' Text
+
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'B' Comment.Multiline
+'C' Comment.Multiline
+'l' Comment.Multiline
+'o' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+'f' Comment.Multiline
+' ' Comment.Multiline
+'B' Comment.Multiline
+'l' Comment.Multiline
+'o' Comment.Multiline
+'c' Comment.Multiline
+'k' Comment.Multiline
+' ' Comment.Multiline
+'*' Comment.Multiline
+' ' Comment.Multiline
+'S' Comment.Multiline
+'u' Comment.Multiline
+'b' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'b' Comment.Multiline
+'[' Comment.Multiline
+'s' Comment.Multiline
+']' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'c' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+'r' Comment.Multiline
+'a' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'and' Keyword.Reserved
+' ' Text
+'Cnstr' Keyword.Type
+' ' Text
+'=' Punctuation
+'\t\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'C' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+'r' Comment.Multiline
+'a' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+':' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'Solved' Name.Class
+' \t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'C' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+'r' Comment.Multiline
+' ' Comment.Multiline
+':' Comment.Multiline
+':' Comment.Multiline
+'=' Comment.Multiline
+' ' Comment.Multiline
+'s' Comment.Multiline
+'o' Comment.Multiline
+'l' Comment.Multiline
+'v' Comment.Multiline
+'e' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'Eqn' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'Dec' Name
+' ' Text
+'Ctx' Name
+' ' Text
+'*' Name
+' ' Text
+'Exp' Name
+' ' Text
+'*' Name
+' ' Text
+'Exp' Name
+' ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'G' Comment.Multiline
+'|' Comment.Multiline
+'-' Comment.Multiline
+'(' Comment.Multiline
+'U' Comment.Multiline
+'1' Comment.Multiline
+' ' Comment.Multiline
+'=' Comment.Multiline
+'=' Comment.Multiline
+' ' Comment.Multiline
+'U' Comment.Multiline
+'2' Comment.Multiline
+')' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'FgnCnstr' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'csid' Name
+' ' Text
+'*' Name
+' ' Text
+'FgnCnstr' Name
+' ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'(' Comment.Multiline
+'f' Comment.Multiline
+'o' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+'i' Comment.Multiline
+'g' Comment.Multiline
+'n' Comment.Multiline
+')' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'and' Keyword.Reserved
+' ' Text
+'Status' Keyword.Type
+' ' Text
+'=' Punctuation
+' ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'S' Comment.Multiline
+'t' Comment.Multiline
+'a' Comment.Multiline
+'t' Comment.Multiline
+'u' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+'f' Comment.Multiline
+' ' Comment.Multiline
+'a' Comment.Multiline
+' ' Comment.Multiline
+'c' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+'a' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+':' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'Normal' Name.Class
+' ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'e' Comment.Multiline
+'r' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'Constraint' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'csid' Name
+' ' Text
+'*' Name
+' ' Text
+'(' Punctuation
+'Dec' Name
+' ' Text
+'Ctx' Name
+' ' Text
+'*' Name
+' ' Text
+'Spine' Name
+' ' Text
+'*' Name
+' ' Text
+'int' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'Exp' Name
+' ' Text
+'option' Name
+')' Punctuation
+'\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'a' Comment.Multiline
+'c' Comment.Multiline
+'t' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'a' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'c' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+'r' Comment.Multiline
+'a' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'Foreign' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'csid' Name
+' ' Text
+'*' Name
+' ' Text
+'(' Punctuation
+'Spine' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'Exp' Name
+')' Punctuation
+' ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'i' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'c' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'v' Comment.Multiline
+'e' Comment.Multiline
+'r' Comment.Multiline
+'t' Comment.Multiline
+'e' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'o' Comment.Multiline
+' ' Comment.Multiline
+'f' Comment.Multiline
+'o' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+'i' Comment.Multiline
+'g' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'and' Keyword.Reserved
+' ' Text
+'FgnUnify' Keyword.Type
+' ' Text
+'=' Punctuation
+' ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'R' Comment.Multiline
+'e' Comment.Multiline
+'s' Comment.Multiline
+'u' Comment.Multiline
+'l' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+'f' Comment.Multiline
+' ' Comment.Multiline
+'f' Comment.Multiline
+'o' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+'i' Comment.Multiline
+'g' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'u' Comment.Multiline
+'n' Comment.Multiline
+'i' Comment.Multiline
+'f' Comment.Multiline
+'y' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'Succeed' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'FgnUnifyResidual' Name
+' ' Text
+'list' Name
+'\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'s' Comment.Multiline
+'u' Comment.Multiline
+'c' Comment.Multiline
+'c' Comment.Multiline
+'e' Comment.Multiline
+'e' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+'w' Comment.Multiline
+'i' Comment.Multiline
+'t' Comment.Multiline
+'h' Comment.Multiline
+' ' Comment.Multiline
+'a' Comment.Multiline
+' ' Comment.Multiline
+'l' Comment.Multiline
+'i' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+'f' Comment.Multiline
+' ' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+'s' Comment.Multiline
+'i' Comment.Multiline
+'d' Comment.Multiline
+'u' Comment.Multiline
+'a' Comment.Multiline
+'l' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+'p' Comment.Multiline
+'e' Comment.Multiline
+'r' Comment.Multiline
+'a' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'Fail' Name.Class
+'\n\n ' Text
+'and' Keyword.Reserved
+' ' Text
+'FgnUnifyResidual' Keyword.Type
+' ' Text
+'=' Punctuation
+'\n ' Text
+'Assign' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'Dec' Name
+' ' Text
+'Ctx' Name
+' ' Text
+'*' Name
+' ' Text
+'Exp' Name
+' ' Text
+'*' Name
+' ' Text
+'Exp' Name
+' ' Text
+'*' Name
+' ' Text
+'Sub' Name
+'\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'p' Comment.Multiline
+'e' Comment.Multiline
+'r' Comment.Multiline
+'f' Comment.Multiline
+'o' Comment.Multiline
+'r' Comment.Multiline
+'m' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'h' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+'a' Comment.Multiline
+'s' Comment.Multiline
+'s' Comment.Multiline
+'i' Comment.Multiline
+'g' Comment.Multiline
+'n' Comment.Multiline
+'m' Comment.Multiline
+'e' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'G' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+'-' Comment.Multiline
+' ' Comment.Multiline
+'X' Comment.Multiline
+' ' Comment.Multiline
+'=' Comment.Multiline
+' ' Comment.Multiline
+'U' Comment.Multiline
+' ' Comment.Multiline
+'[' Comment.Multiline
+'s' Comment.Multiline
+'s' Comment.Multiline
+']' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'Delay' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'Exp' Name
+' ' Text
+'*' Name
+' ' Text
+'Cnstr' Name
+' ' Text
+'ref' Name
+'\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'d' Comment.Multiline
+'e' Comment.Multiline
+'l' Comment.Multiline
+'a' Comment.Multiline
+'y' Comment.Multiline
+' ' Comment.Multiline
+'c' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+'r' Comment.Multiline
+',' Comment.Multiline
+' ' Comment.Multiline
+'a' Comment.Multiline
+'s' Comment.Multiline
+'s' Comment.Multiline
+'o' Comment.Multiline
+'c' Comment.Multiline
+'i' Comment.Multiline
+'a' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'g' Comment.Multiline
+' ' Comment.Multiline
+'i' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'w' Comment.Multiline
+'i' Comment.Multiline
+'t' Comment.Multiline
+'h' Comment.Multiline
+' ' Comment.Multiline
+'a' Comment.Multiline
+'l' Comment.Multiline
+'l' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'h' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+'r' Comment.Multiline
+'i' Comment.Multiline
+'g' Comment.Multiline
+'i' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+'E' Comment.Multiline
+'V' Comment.Multiline
+'a' Comment.Multiline
+'r' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'U' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'G' Comment.Multiline
+'l' Comment.Multiline
+'o' Comment.Multiline
+'b' Comment.Multiline
+'a' Comment.Multiline
+'l' Comment.Multiline
+' ' Comment.Multiline
+'s' Comment.Multiline
+'i' Comment.Multiline
+'g' Comment.Multiline
+'n' Comment.Multiline
+'a' Comment.Multiline
+'t' Comment.Multiline
+'u' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'and' Keyword.Reserved
+' ' Text
+'ConDec' Keyword.Type
+' ' Text
+'=' Punctuation
+'\t\t\t ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'C' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+'a' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'d' Comment.Multiline
+'e' Comment.Multiline
+'c' Comment.Multiline
+'l' Comment.Multiline
+'a' Comment.Multiline
+'r' Comment.Multiline
+'a' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'ConDec' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'string' Name
+' ' Text
+'*' Name
+' ' Text
+'mid' Name
+' ' Text
+'option' Name
+' ' Text
+'*' Name
+' ' Text
+'int' Name
+' ' Text
+'*' Name
+' ' Text
+'Status' Name
+'\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'a' Comment.Multiline
+' ' Comment.Multiline
+':' Comment.Multiline
+' ' Comment.Multiline
+'K' Comment.Multiline
+' ' Comment.Multiline
+':' Comment.Multiline
+' ' Comment.Multiline
+'k' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+'r' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'*' Name
+' ' Text
+'Exp' Name
+' ' Text
+'*' Name
+' ' Text
+'Uni' Name
+'\t ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'c' Comment.Multiline
+' ' Comment.Multiline
+':' Comment.Multiline
+' ' Comment.Multiline
+'A' Comment.Multiline
+' ' Comment.Multiline
+':' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'y' Comment.Multiline
+'p' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'ConDef' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'string' Name
+' ' Text
+'*' Name
+' ' Text
+'mid' Name
+' ' Text
+'option' Name
+' ' Text
+'*' Name
+' ' Text
+'int' Name
+'\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'a' Comment.Multiline
+' ' Comment.Multiline
+'=' Comment.Multiline
+' ' Comment.Multiline
+'A' Comment.Multiline
+' ' Comment.Multiline
+':' Comment.Multiline
+' ' Comment.Multiline
+'K' Comment.Multiline
+' ' Comment.Multiline
+':' Comment.Multiline
+' ' Comment.Multiline
+'k' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+'r' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'*' Name
+' ' Text
+'Exp' Name
+' ' Text
+'*' Name
+' ' Text
+'Exp' Name
+' ' Text
+'*' Name
+' ' Text
+'Uni' Name
+'\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+'=' Comment.Multiline
+' ' Comment.Multiline
+'M' Comment.Multiline
+' ' Comment.Multiline
+':' Comment.Multiline
+' ' Comment.Multiline
+'A' Comment.Multiline
+' ' Comment.Multiline
+':' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'y' Comment.Multiline
+'p' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'*' Name
+' ' Text
+'Ancestor' Name
+' ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'A' Comment.Multiline
+'n' Comment.Multiline
+'c' Comment.Multiline
+'e' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+'o' Comment.Multiline
+'r' Comment.Multiline
+' ' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'f' Comment.Multiline
+'o' Comment.Multiline
+' ' Comment.Multiline
+'f' Comment.Multiline
+'o' Comment.Multiline
+'r' Comment.Multiline
+' ' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+'r' Comment.Multiline
+' ' Comment.Multiline
+'a' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'AbbrevDef' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'string' Name
+' ' Text
+'*' Name
+' ' Text
+'mid' Name
+' ' Text
+'option' Name
+' ' Text
+'*' Name
+' ' Text
+'int' Name
+'\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'a' Comment.Multiline
+' ' Comment.Multiline
+'=' Comment.Multiline
+' ' Comment.Multiline
+'A' Comment.Multiline
+' ' Comment.Multiline
+':' Comment.Multiline
+' ' Comment.Multiline
+'K' Comment.Multiline
+' ' Comment.Multiline
+':' Comment.Multiline
+' ' Comment.Multiline
+'k' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+'r' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'*' Name
+' ' Text
+'Exp' Name
+' ' Text
+'*' Name
+' ' Text
+'Exp' Name
+' ' Text
+'*' Name
+' ' Text
+'Uni' Name
+'\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+'=' Comment.Multiline
+' ' Comment.Multiline
+'M' Comment.Multiline
+' ' Comment.Multiline
+':' Comment.Multiline
+' ' Comment.Multiline
+'A' Comment.Multiline
+' ' Comment.Multiline
+':' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'y' Comment.Multiline
+'p' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'BlockDec' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'string' Name
+' ' Text
+'*' Name
+' ' Text
+'mid' Name
+' ' Text
+'option' Name
+' ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'%' Comment.Multiline
+'b' Comment.Multiline
+'l' Comment.Multiline
+'o' Comment.Multiline
+'c' Comment.Multiline
+'k' Comment.Multiline
+' ' Comment.Multiline
+'l' Comment.Multiline
+' ' Comment.Multiline
+':' Comment.Multiline
+' ' Comment.Multiline
+'S' Comment.Multiline
+'O' Comment.Multiline
+'M' Comment.Multiline
+'E' Comment.Multiline
+' ' Comment.Multiline
+'G' Comment.Multiline
+'1' Comment.Multiline
+' ' Comment.Multiline
+'P' Comment.Multiline
+'I' Comment.Multiline
+' ' Comment.Multiline
+'G' Comment.Multiline
+'2' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'*' Name
+' ' Text
+'Dec' Name
+' ' Text
+'Ctx' Name
+' ' Text
+'*' Name
+' ' Text
+'Dec' Name
+' ' Text
+'list' Name
+'\n ' Text
+'|' Punctuation
+' ' Text
+'BlockDef' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'string' Name
+' ' Text
+'*' Name
+' ' Text
+'mid' Name
+' ' Text
+'option' Name
+' ' Text
+'*' Name
+' ' Text
+'cid' Name
+' ' Text
+'list' Name
+'\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'%' Comment.Multiline
+'b' Comment.Multiline
+'l' Comment.Multiline
+'o' Comment.Multiline
+'c' Comment.Multiline
+'k' Comment.Multiline
+' ' Comment.Multiline
+'l' Comment.Multiline
+' ' Comment.Multiline
+'=' Comment.Multiline
+' ' Comment.Multiline
+'(' Comment.Multiline
+'l' Comment.Multiline
+'1' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'.' Comment.Multiline
+'.' Comment.Multiline
+'.' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'l' Comment.Multiline
+'n' Comment.Multiline
+')' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'SkoDec' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'string' Name
+' ' Text
+'*' Name
+' ' Text
+'mid' Name
+' ' Text
+'option' Name
+' ' Text
+'*' Name
+' ' Text
+'int' Name
+'\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'s' Comment.Multiline
+'a' Comment.Multiline
+':' Comment.Multiline
+' ' Comment.Multiline
+'K' Comment.Multiline
+' ' Comment.Multiline
+':' Comment.Multiline
+' ' Comment.Multiline
+'k' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+'r' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'*' Name
+' ' Text
+'Exp' Name
+' ' Text
+'*' Name
+' ' Text
+'Uni' Name
+'\t ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'s' Comment.Multiline
+'c' Comment.Multiline
+':' Comment.Multiline
+' ' Comment.Multiline
+'A' Comment.Multiline
+' ' Comment.Multiline
+':' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'y' Comment.Multiline
+'p' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'and' Keyword.Reserved
+' ' Text
+'Ancestor' Keyword.Type
+' ' Text
+'=' Punctuation
+'\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'A' Comment.Multiline
+'n' Comment.Multiline
+'c' Comment.Multiline
+'e' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+'o' Comment.Multiline
+'r' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+'f' Comment.Multiline
+' ' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+'r' Comment.Multiline
+' ' Comment.Multiline
+'a' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'Anc' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'cid' Name
+' ' Text
+'option' Name
+' ' Text
+'*' Name
+' ' Text
+'int' Name
+' ' Text
+'*' Name
+' ' Text
+'cid' Name
+' ' Text
+'option' Name
+' ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'h' Comment.Multiline
+'e' Comment.Multiline
+'a' Comment.Multiline
+'d' Comment.Multiline
+'(' Comment.Multiline
+'e' Comment.Multiline
+'x' Comment.Multiline
+'p' Comment.Multiline
+'a' Comment.Multiline
+'n' Comment.Multiline
+'d' Comment.Multiline
+'(' Comment.Multiline
+'d' Comment.Multiline
+')' Comment.Multiline
+')' Comment.Multiline
+',' Comment.Multiline
+' ' Comment.Multiline
+'h' Comment.Multiline
+'e' Comment.Multiline
+'i' Comment.Multiline
+'g' Comment.Multiline
+'h' Comment.Multiline
+'t' Comment.Multiline
+',' Comment.Multiline
+' ' Comment.Multiline
+'h' Comment.Multiline
+'e' Comment.Multiline
+'a' Comment.Multiline
+'d' Comment.Multiline
+'(' Comment.Multiline
+'e' Comment.Multiline
+'x' Comment.Multiline
+'p' Comment.Multiline
+'a' Comment.Multiline
+'n' Comment.Multiline
+'d' Comment.Multiline
+'[' Comment.Multiline
+'h' Comment.Multiline
+'e' Comment.Multiline
+'i' Comment.Multiline
+'g' Comment.Multiline
+'h' Comment.Multiline
+'t' Comment.Multiline
+']' Comment.Multiline
+'(' Comment.Multiline
+'d' Comment.Multiline
+')' Comment.Multiline
+')' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'N' Comment.Multiline
+'O' Comment.Multiline
+'N' Comment.Multiline
+'E' Comment.Multiline
+' ' Comment.Multiline
+'m' Comment.Multiline
+'e' Comment.Multiline
+'a' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'e' Comment.Multiline
+'x' Comment.Multiline
+'p' Comment.Multiline
+'a' Comment.Multiline
+'n' Comment.Multiline
+'d' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'o' Comment.Multiline
+' ' Comment.Multiline
+'{' Comment.Multiline
+'x' Comment.Multiline
+':' Comment.Multiline
+'A' Comment.Multiline
+'}' Comment.Multiline
+'B' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'' Text
+'datatype' Keyword.Reserved
+' ' Text
+'StrDec' Keyword.Type
+' ' Text
+'=' Punctuation
+' ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'S' Comment.Multiline
+'t' Comment.Multiline
+'r' Comment.Multiline
+'u' Comment.Multiline
+'c' Comment.Multiline
+'t' Comment.Multiline
+'u' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+'d' Comment.Multiline
+'e' Comment.Multiline
+'c' Comment.Multiline
+'l' Comment.Multiline
+'a' Comment.Multiline
+'r' Comment.Multiline
+'a' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'StrDec' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'string' Name
+' ' Text
+'*' Name
+' ' Text
+'mid' Name
+' ' Text
+'option' Name
+'\n\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'F' Comment.Multiline
+'o' Comment.Multiline
+'r' Comment.Multiline
+'m' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+'f' Comment.Multiline
+' ' Comment.Multiline
+'c' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+'a' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'d' Comment.Multiline
+'e' Comment.Multiline
+'c' Comment.Multiline
+'l' Comment.Multiline
+'a' Comment.Multiline
+'r' Comment.Multiline
+'a' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'' Text
+'datatype' Keyword.Reserved
+' ' Text
+'ConDecForm' Keyword.Type
+' ' Text
+'=' Punctuation
+'\n ' Text
+'FromCS' Name.Class
+'\t\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'f' Comment.Multiline
+'r' Comment.Multiline
+'o' Comment.Multiline
+'m' Comment.Multiline
+' ' Comment.Multiline
+'c' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+'r' Comment.Multiline
+'a' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'d' Comment.Multiline
+'o' Comment.Multiline
+'m' Comment.Multiline
+'a' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'Ordinary' Name.Class
+'\t\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+'r' Comment.Multiline
+'d' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'a' Comment.Multiline
+'r' Comment.Multiline
+'y' Comment.Multiline
+' ' Comment.Multiline
+'d' Comment.Multiline
+'e' Comment.Multiline
+'c' Comment.Multiline
+'l' Comment.Multiline
+'a' Comment.Multiline
+'r' Comment.Multiline
+'a' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'|' Punctuation
+' ' Text
+'Clause' Name.Class
+'\t\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'%' Comment.Multiline
+'c' Comment.Multiline
+'l' Comment.Multiline
+'a' Comment.Multiline
+'u' Comment.Multiline
+'s' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+'d' Comment.Multiline
+'e' Comment.Multiline
+'c' Comment.Multiline
+'l' Comment.Multiline
+'a' Comment.Multiline
+'r' Comment.Multiline
+'a' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'T' Comment.Multiline
+'y' Comment.Multiline
+'p' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+'a' Comment.Multiline
+'b' Comment.Multiline
+'b' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+'v' Comment.Multiline
+'i' Comment.Multiline
+'a' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'' Text
+'type' Keyword.Reserved
+' ' Text
+'dctx' Keyword.Type
+' ' Text
+'=' Punctuation
+' ' Text
+'Dec' Name
+' ' Text
+'Ctx' Name
+'\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'G' Comment.Multiline
+' ' Comment.Multiline
+'=' Comment.Multiline
+' ' Comment.Multiline
+'.' Comment.Multiline
+' ' Comment.Multiline
+'|' Comment.Multiline
+' ' Comment.Multiline
+'G' Comment.Multiline
+',' Comment.Multiline
+'D' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'' Text
+'type' Keyword.Reserved
+' ' Text
+'eclo' Keyword.Type
+' ' Text
+'=' Punctuation
+' ' Text
+'Exp' Name
+' ' Text
+'*' Name
+' ' Text
+'Sub' Name
+' \t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'U' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'=' Comment.Multiline
+' ' Comment.Multiline
+'U' Comment.Multiline
+'[' Comment.Multiline
+'s' Comment.Multiline
+']' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'' Text
+'type' Keyword.Reserved
+' ' Text
+'bclo' Keyword.Type
+' ' Text
+'=' Punctuation
+' ' Text
+'Block' Name
+' ' Text
+'*' Name
+' ' Text
+'Sub' Name
+' \t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'B' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'=' Comment.Multiline
+' ' Comment.Multiline
+'B' Comment.Multiline
+'[' Comment.Multiline
+'s' Comment.Multiline
+']' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'' Text
+'type' Keyword.Reserved
+' ' Text
+'cnstr' Keyword.Type
+' ' Text
+'=' Punctuation
+' ' Text
+'Cnstr' Name
+' ' Text
+'ref' Name
+'\n\n ' Text
+'' Text
+'exception' Keyword.Reserved
+' ' Text
+'Error' Name.Class
+' ' Text
+'of' Keyword.Reserved
+' ' Text
+'string' Name.Class
+'\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'r' Comment.Multiline
+'a' Comment.Multiline
+'i' Comment.Multiline
+'s' Comment.Multiline
+'e' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+'i' Comment.Multiline
+'f' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+'u' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+'f' Comment.Multiline
+' ' Comment.Multiline
+'s' Comment.Multiline
+'p' Comment.Multiline
+'a' Comment.Multiline
+'c' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+'a' Comment.Multiline
+'n' Comment.Multiline
+'d' Comment.Multiline
+'a' Comment.Multiline
+'r' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+'p' Comment.Multiline
+'e' Comment.Multiline
+'r' Comment.Multiline
+'a' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'f' Comment.Multiline
+'o' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+'i' Comment.Multiline
+'g' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'e' Comment.Multiline
+'x' Comment.Multiline
+'p' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+'s' Comment.Multiline
+'s' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'structure' Name.Class
+' ' Text
+'FgnExpStd' Name.Class
+' ' Text
+':' Name.Class
+' ' Text
+'sig' Name.Class
+'\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'c' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'v' Comment.Multiline
+'e' Comment.Multiline
+'r' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'o' Comment.Multiline
+' ' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+'e' Comment.Multiline
+'r' Comment.Multiline
+'n' Comment.Multiline
+'a' Comment.Multiline
+'l' Comment.Multiline
+' ' Comment.Multiline
+'s' Comment.Multiline
+'y' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+'a' Comment.Multiline
+'x' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'structure' Name.Class
+' ' Text
+'ToInternal' Name.Class
+' ' Text
+':' Name.Class
+' ' Text
+'FGN_OPN' Name.Class
+' ' Text
+'where' Name.Class
+' ' Text
+'type' Name.Class
+' ' Text
+'arg' Name.Class
+' ' Text
+'=' Name.Class
+' ' Text
+'unit' Name.Class
+'\n ' Text
+'where' Name.Class
+' ' Text
+'type' Name.Class
+' ' Text
+'result' Name.Class
+' ' Text
+'=' Name.Class
+' ' Text
+'Exp' Name.Class
+'\n\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'a' Comment.Multiline
+'p' Comment.Multiline
+'p' Comment.Multiline
+'l' Comment.Multiline
+'y' Comment.Multiline
+' ' Comment.Multiline
+'f' Comment.Multiline
+'u' Comment.Multiline
+'n' Comment.Multiline
+'c' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'o' Comment.Multiline
+' ' Comment.Multiline
+'s' Comment.Multiline
+'u' Comment.Multiline
+'b' Comment.Multiline
+'t' Comment.Multiline
+'e' Comment.Multiline
+'r' Comment.Multiline
+'m' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'structure' Name.Class
+' ' Text
+'Map' Name.Class
+' ' Text
+':' Name.Class
+' ' Text
+'FGN_OPN' Name.Class
+' ' Text
+'where' Name.Class
+' ' Text
+'type' Name.Class
+' ' Text
+'arg' Name.Class
+' ' Text
+'=' Name.Class
+' ' Text
+'Exp' Name.Class
+' ' Text
+'->' Name.Class
+' ' Text
+'Exp' Name.Class
+'\n\t\t\t ' Text
+'where' Name.Class
+' ' Text
+'type' Name.Class
+' ' Text
+'result' Name.Class
+' ' Text
+'=' Name.Class
+' ' Text
+'Exp' Name.Class
+'\n\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'a' Comment.Multiline
+'p' Comment.Multiline
+'p' Comment.Multiline
+'l' Comment.Multiline
+'y' Comment.Multiline
+' ' Comment.Multiline
+'f' Comment.Multiline
+'u' Comment.Multiline
+'n' Comment.Multiline
+'c' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'o' Comment.Multiline
+' ' Comment.Multiline
+'s' Comment.Multiline
+'u' Comment.Multiline
+'b' Comment.Multiline
+'t' Comment.Multiline
+'e' Comment.Multiline
+'r' Comment.Multiline
+'m' Comment.Multiline
+'s' Comment.Multiline
+',' Comment.Multiline
+' ' Comment.Multiline
+'f' Comment.Multiline
+'o' Comment.Multiline
+'r' Comment.Multiline
+' ' Comment.Multiline
+'e' Comment.Multiline
+'f' Comment.Multiline
+'f' Comment.Multiline
+'e' Comment.Multiline
+'c' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'structure' Name.Class
+' ' Text
+'App' Name.Class
+' ' Text
+':' Name.Class
+' ' Text
+'FGN_OPN' Name.Class
+' ' Text
+'where' Name.Class
+' ' Text
+'type' Name.Class
+' ' Text
+'arg' Name.Class
+' ' Text
+'=' Name.Class
+' ' Text
+'Exp' Name.Class
+' ' Text
+'->' Name.Class
+' ' Text
+'unit' Name.Class
+'\n\t\t\t ' Text
+'where' Name.Class
+' ' Text
+'type' Name.Class
+' ' Text
+'result' Name.Class
+' ' Text
+'=' Name.Class
+' ' Text
+'unit' Name.Class
+'\n\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'e' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'f' Comment.Multiline
+'o' Comment.Multiline
+'r' Comment.Multiline
+' ' Comment.Multiline
+'e' Comment.Multiline
+'q' Comment.Multiline
+'u' Comment.Multiline
+'a' Comment.Multiline
+'l' Comment.Multiline
+'i' Comment.Multiline
+'t' Comment.Multiline
+'y' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'structure' Name.Class
+' ' Text
+'EqualTo' Name.Class
+' ' Text
+':' Name.Class
+' ' Text
+'FGN_OPN' Name.Class
+' ' Text
+'where' Name.Class
+' ' Text
+'type' Name.Class
+' ' Text
+'arg' Name.Class
+' ' Text
+'=' Name.Class
+' ' Text
+'Exp' Name.Class
+'\n ' Text
+'where' Name.Class
+' ' Text
+'type' Name.Class
+' ' Text
+'result' Name.Class
+' ' Text
+'=' Name.Class
+' ' Text
+'bool' Name.Class
+'\n\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'u' Comment.Multiline
+'n' Comment.Multiline
+'i' Comment.Multiline
+'f' Comment.Multiline
+'y' Comment.Multiline
+' ' Comment.Multiline
+'w' Comment.Multiline
+'i' Comment.Multiline
+'t' Comment.Multiline
+'h' Comment.Multiline
+' ' Comment.Multiline
+'a' Comment.Multiline
+'n' Comment.Multiline
+'o' Comment.Multiline
+'t' Comment.Multiline
+'h' Comment.Multiline
+'e' Comment.Multiline
+'r' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'e' Comment.Multiline
+'r' Comment.Multiline
+'m' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'structure' Name.Class
+' ' Text
+'UnifyWith' Name.Class
+' ' Text
+':' Name.Class
+' ' Text
+'FGN_OPN' Name.Class
+' ' Text
+'where' Name.Class
+' ' Text
+'type' Name.Class
+' ' Text
+'arg' Name.Class
+' ' Text
+'=' Name.Class
+' ' Text
+'Dec' Name.Class
+' ' Text
+'Ctx' Name.Class
+' ' Text
+'*' Name.Class
+' ' Text
+'Exp' Name.Class
+'\n ' Text
+'where' Name.Class
+' ' Text
+'type' Name.Class
+' ' Text
+'result' Name.Class
+' ' Text
+'=' Name.Class
+' ' Text
+'FgnUnify' Name.Class
+'\n\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'f' Comment.Multiline
+'o' Comment.Multiline
+'l' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+'a' Comment.Multiline
+' ' Comment.Multiline
+'f' Comment.Multiline
+'u' Comment.Multiline
+'n' Comment.Multiline
+'c' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+'v' Comment.Multiline
+'e' Comment.Multiline
+'r' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'h' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+'s' Comment.Multiline
+'u' Comment.Multiline
+'b' Comment.Multiline
+'t' Comment.Multiline
+'e' Comment.Multiline
+'r' Comment.Multiline
+'m' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'val' Name.Class
+' ' Text
+'fold' Name.Class
+' ' Text
+':' Name.Class
+' ' Text
+'(' Punctuation
+'csid' Name
+' ' Text
+'*' Name
+' ' Text
+'FgnExp' Name
+')' Punctuation
+' ' Text
+'->' Punctuation
+' ' Text
+'(' Punctuation
+'Exp' Name
+' ' Text
+'*' Name
+' ' Text
+"'a" Name.Decorator
+' ' Text
+'->' Punctuation
+' ' Text
+"'a" Name.Decorator
+')' Punctuation
+' ' Text
+'->' Punctuation
+' ' Text
+"'a" Name.Decorator
+' ' Text
+'->' Punctuation
+' ' Text
+"'a" Name.Decorator
+'\n ' Text
+'end' Keyword.Reserved
+'\n\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+'a' Comment.Multiline
+'n' Comment.Multiline
+'d' Comment.Multiline
+'a' Comment.Multiline
+'r' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+'p' Comment.Multiline
+'e' Comment.Multiline
+'r' Comment.Multiline
+'a' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'f' Comment.Multiline
+'o' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+'i' Comment.Multiline
+'g' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'c' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+'r' Comment.Multiline
+'a' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'structure' Keyword.Reserved
+' ' Text
+'FgnCnstrStd' Name.Namespace
+' ' Text
+':' Punctuation
+' ' Text
+'sig' Keyword.Reserved
+'\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'c' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'v' Comment.Multiline
+'e' Comment.Multiline
+'r' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'o' Comment.Multiline
+' ' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+'e' Comment.Multiline
+'r' Comment.Multiline
+'n' Comment.Multiline
+'a' Comment.Multiline
+'l' Comment.Multiline
+' ' Comment.Multiline
+'s' Comment.Multiline
+'y' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+'a' Comment.Multiline
+'x' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'structure' Keyword.Reserved
+' ' Text
+'ToInternal' Name.Namespace
+' ' Text
+':' Punctuation
+' ' Text
+'FGN_OPN' Name
+' ' Text
+'where' Keyword.Reserved
+' ' Text
+'type' Keyword.Reserved
+' ' Text
+'arg' Keyword.Type
+' ' Text
+'=' Punctuation
+' ' Text
+'unit' Name
+'\n ' Text
+'' Text
+'where' Keyword.Reserved
+' ' Text
+'type' Keyword.Reserved
+' ' Text
+'result' Keyword.Type
+' ' Text
+'=' Punctuation
+' ' Text
+'(' Punctuation
+'Dec' Name
+' ' Text
+'Ctx' Name
+' ' Text
+'*' Name
+' ' Text
+'Exp' Name
+')' Punctuation
+' ' Text
+'list' Name
+'\n\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'a' Comment.Multiline
+'w' Comment.Multiline
+'a' Comment.Multiline
+'k' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'' Text
+'structure' Keyword.Reserved
+' ' Text
+'Awake' Name.Namespace
+' ' Text
+':' Punctuation
+' ' Text
+'FGN_OPN' Name
+' ' Text
+'where' Keyword.Reserved
+' ' Text
+'type' Keyword.Reserved
+' ' Text
+'arg' Keyword.Type
+' ' Text
+'=' Punctuation
+' ' Text
+'unit' Name
+'\n ' Text
+'' Text
+'where' Keyword.Reserved
+' ' Text
+'type' Keyword.Reserved
+' ' Text
+'result' Keyword.Type
+' ' Text
+'=' Punctuation
+' ' Text
+'bool' Name
+'\n\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'s' Comment.Multiline
+'i' Comment.Multiline
+'m' Comment.Multiline
+'p' Comment.Multiline
+'l' Comment.Multiline
+'i' Comment.Multiline
+'f' Comment.Multiline
+'y' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'' Text
+'structure' Keyword.Reserved
+' ' Text
+'Simplify' Name.Namespace
+' ' Text
+':' Punctuation
+' ' Text
+'FGN_OPN' Name
+' ' Text
+'where' Keyword.Reserved
+' ' Text
+'type' Keyword.Reserved
+' ' Text
+'arg' Keyword.Type
+' ' Text
+'=' Punctuation
+' ' Text
+'unit' Name
+'\n ' Text
+'' Text
+'where' Keyword.Reserved
+' ' Text
+'type' Keyword.Reserved
+' ' Text
+'result' Keyword.Type
+' ' Text
+'=' Punctuation
+' ' Text
+'bool' Name
+'\n ' Text
+'' Text
+'end' Keyword.Reserved
+'\n \n ' Text
+'val' Keyword.Reserved
+' ' Text
+'conDecName' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'ConDec' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'string' Name
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'conDecParent' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'ConDec' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'mid' Name
+' ' Text
+'option' Name
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'conDecImp' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'ConDec' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'int' Name
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'conDecStatus' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'ConDec' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'Status' Name
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'conDecType' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'ConDec' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'Exp' Name
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'conDecBlock' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'ConDec' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'dctx' Name
+' ' Text
+'*' Name
+' ' Text
+'Dec' Name
+' ' Text
+'list' Name
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'conDecUni' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'ConDec' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'Uni' Name
+'\n\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'strDecName' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'StrDec' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'string' Name
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'strDecParent' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'StrDec' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'mid' Name
+' ' Text
+'option' Name
+'\n\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'sgnReset' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'unit' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'unit' Name
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'sgnSize' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'unit' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'cid' Name
+' ' Text
+'*' Name
+' ' Text
+'mid' Name
+'\n\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'sgnAdd' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'ConDec' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'cid' Name
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'sgnLookup' Name.Variable
+':' Punctuation
+' ' Text
+'cid' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'ConDec' Name
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'sgnApp' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'(' Punctuation
+'cid' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'unit' Name
+')' Punctuation
+' ' Text
+'->' Punctuation
+' ' Text
+'unit' Name
+'\n\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'sgnStructAdd' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'StrDec' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'mid' Name
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'sgnStructLookup' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'mid' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'StrDec' Name
+'\n\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'constType' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'cid' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'Exp' Name
+'\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'y' Comment.Multiline
+'p' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+'f' Comment.Multiline
+' ' Comment.Multiline
+'c' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+'r' Comment.Multiline
+' ' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'constDef' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'cid' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'Exp' Name
+'\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'d' Comment.Multiline
+'e' Comment.Multiline
+'f' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'i' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+'f' Comment.Multiline
+' ' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'constImp' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'cid' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'int' Name
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'constStatus' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'cid' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'Status' Name
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'constUni' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'cid' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'Uni' Name
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'constBlock' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'cid' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'dctx' Name
+' ' Text
+'*' Name
+' ' Text
+'Dec' Name
+' ' Text
+'list' Name
+'\n\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'D' Comment.Multiline
+'e' Comment.Multiline
+'c' Comment.Multiline
+'l' Comment.Multiline
+'a' Comment.Multiline
+'r' Comment.Multiline
+'a' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'C' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'t' Comment.Multiline
+'e' Comment.Multiline
+'x' Comment.Multiline
+'t' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'ctxDec' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'dctx' Name
+' ' Text
+'*' Name
+' ' Text
+'int' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'Dec' Name
+'\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'g' Comment.Multiline
+'e' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'v' Comment.Multiline
+'a' Comment.Multiline
+'r' Comment.Multiline
+'i' Comment.Multiline
+'a' Comment.Multiline
+'b' Comment.Multiline
+'l' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+'d' Comment.Multiline
+'e' Comment.Multiline
+'c' Comment.Multiline
+'l' Comment.Multiline
+'a' Comment.Multiline
+'r' Comment.Multiline
+'a' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'blockDec' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'dctx' Name
+' ' Text
+'*' Name
+' ' Text
+'Block' Name
+' ' Text
+'*' Name
+' ' Text
+'int' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'Dec' Name
+' \n\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'E' Comment.Multiline
+'x' Comment.Multiline
+'p' Comment.Multiline
+'l' Comment.Multiline
+'i' Comment.Multiline
+'c' Comment.Multiline
+'i' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'s' Comment.Multiline
+'u' Comment.Multiline
+'b' Comment.Multiline
+'s' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'t' Comment.Multiline
+'u' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'id' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'Sub' Name
+'\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'i' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'shift' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'Sub' Name
+'\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'^' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'invShift' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'Sub' Name
+' ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'^' Comment.Multiline
+'-' Comment.Multiline
+'1' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'bvarSub' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'int' Name
+' ' Text
+'*' Name
+' ' Text
+'Sub' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'Front' Name
+' ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'k' Comment.Multiline
+'[' Comment.Multiline
+'s' Comment.Multiline
+']' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'frontSub' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'Front' Name
+' ' Text
+'*' Name
+' ' Text
+'Sub' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'Front' Name
+'\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'H' Comment.Multiline
+'[' Comment.Multiline
+'s' Comment.Multiline
+']' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'decSub' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'Dec' Name
+' ' Text
+'*' Name
+' ' Text
+'Sub' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'Dec' Name
+'\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'x' Comment.Multiline
+':' Comment.Multiline
+'V' Comment.Multiline
+'[' Comment.Multiline
+'s' Comment.Multiline
+']' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'blockSub' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'Block' Name
+' ' Text
+'*' Name
+' ' Text
+'Sub' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'Block' Name
+' ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'B' Comment.Multiline
+'[' Comment.Multiline
+'s' Comment.Multiline
+']' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'comp' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'Sub' Name
+' ' Text
+'*' Name
+' ' Text
+'Sub' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'Sub' Name
+'\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+' ' Comment.Multiline
+'s' Comment.Multiline
+"'" Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'dot1' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'Sub' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'Sub' Name
+'\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'1' Comment.Multiline
+' ' Comment.Multiline
+'.' Comment.Multiline
+' ' Comment.Multiline
+'(' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+' ' Comment.Multiline
+'^' Comment.Multiline
+')' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'invDot1' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'Sub' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'Sub' Name
+'\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'(' Comment.Multiline
+'^' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+' ' Comment.Multiline
+'s' Comment.Multiline
+')' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+' ' Comment.Multiline
+'^' Comment.Multiline
+'-' Comment.Multiline
+'1' Comment.Multiline
+')' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'E' Comment.Multiline
+'V' Comment.Multiline
+'a' Comment.Multiline
+'r' Comment.Multiline
+' ' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+'l' Comment.Multiline
+'a' Comment.Multiline
+'t' Comment.Multiline
+'e' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+'f' Comment.Multiline
+'u' Comment.Multiline
+'n' Comment.Multiline
+'c' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'newEVar' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'dctx' Name
+' ' Text
+'*' Name
+' ' Text
+'Exp' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'Exp' Name
+'\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'c' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+'a' Comment.Multiline
+'t' Comment.Multiline
+'e' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'X' Comment.Multiline
+':' Comment.Multiline
+'G' Comment.Multiline
+'|' Comment.Multiline
+'-' Comment.Multiline
+'V' Comment.Multiline
+',' Comment.Multiline
+' ' Comment.Multiline
+'[' Comment.Multiline
+']' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+' \n ' Text
+'val' Keyword.Reserved
+' ' Text
+'newAVar' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'unit' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'Exp' Name
+'\t ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'c' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+'a' Comment.Multiline
+'t' Comment.Multiline
+'e' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'A' Comment.Multiline
+' ' Comment.Multiline
+'(' Comment.Multiline
+'b' Comment.Multiline
+'a' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+')' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+' \n ' Text
+'val' Keyword.Reserved
+' ' Text
+'newTypeVar' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'dctx' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'Exp' Name
+'\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'c' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+'a' Comment.Multiline
+'t' Comment.Multiline
+'e' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'X' Comment.Multiline
+':' Comment.Multiline
+'G' Comment.Multiline
+'|' Comment.Multiline
+'-' Comment.Multiline
+'t' Comment.Multiline
+'y' Comment.Multiline
+'p' Comment.Multiline
+'e' Comment.Multiline
+',' Comment.Multiline
+' ' Comment.Multiline
+'[' Comment.Multiline
+']' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'newLVar' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'Sub' Name
+' ' Text
+'*' Name
+' ' Text
+'(' Punctuation
+'cid' Name
+' ' Text
+'*' Name
+' ' Text
+'Sub' Name
+')' Punctuation
+' ' Text
+'->' Punctuation
+' ' Text
+'Block' Name
+'\t\n\t\t\t\t\t' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'c' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+'a' Comment.Multiline
+'t' Comment.Multiline
+'e' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'B' Comment.Multiline
+':' Comment.Multiline
+'(' Comment.Multiline
+'l' Comment.Multiline
+'[' Comment.Multiline
+'^' Comment.Multiline
+'k' Comment.Multiline
+']' Comment.Multiline
+',' Comment.Multiline
+'t' Comment.Multiline
+')' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+' \n\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'D' Comment.Multiline
+'e' Comment.Multiline
+'f' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'i' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+'l' Comment.Multiline
+'a' Comment.Multiline
+'t' Comment.Multiline
+'e' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+'f' Comment.Multiline
+'u' Comment.Multiline
+'n' Comment.Multiline
+'c' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'headOpt' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'Exp' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'Head' Name
+' ' Text
+'option' Name
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'ancestor' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'Exp' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'Ancestor' Name
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'defAncestor' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'cid' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'Ancestor' Name
+'\n\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'T' Comment.Multiline
+'y' Comment.Multiline
+'p' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+'l' Comment.Multiline
+'a' Comment.Multiline
+'t' Comment.Multiline
+'e' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+'f' Comment.Multiline
+'u' Comment.Multiline
+'n' Comment.Multiline
+'c' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'N' Comment.Multiline
+'o' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'e' Comment.Multiline
+'x' Comment.Multiline
+'p' Comment.Multiline
+'a' Comment.Multiline
+'n' Comment.Multiline
+'d' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'g' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'y' Comment.Multiline
+'p' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+'d' Comment.Multiline
+'e' Comment.Multiline
+'f' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'i' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'targetHeadOpt' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'Exp' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'Head' Name
+' ' Text
+'option' Name
+' ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'a' Comment.Multiline
+'r' Comment.Multiline
+'g' Comment.Multiline
+'e' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'y' Comment.Multiline
+'p' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+'f' Comment.Multiline
+'a' Comment.Multiline
+'m' Comment.Multiline
+'i' Comment.Multiline
+'l' Comment.Multiline
+'y' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+'r' Comment.Multiline
+' ' Comment.Multiline
+'N' Comment.Multiline
+'O' Comment.Multiline
+'N' Comment.Multiline
+'E' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'targetHead' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'Exp' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'Head' Name
+' ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'a' Comment.Multiline
+'r' Comment.Multiline
+'g' Comment.Multiline
+'e' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'y' Comment.Multiline
+'p' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+'f' Comment.Multiline
+'a' Comment.Multiline
+'m' Comment.Multiline
+'i' Comment.Multiline
+'l' Comment.Multiline
+'y' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'E' Comment.Multiline
+'x' Comment.Multiline
+'p' Comment.Multiline
+'a' Comment.Multiline
+'n' Comment.Multiline
+'d' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'g' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'y' Comment.Multiline
+'p' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+'d' Comment.Multiline
+'e' Comment.Multiline
+'f' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+'i' Comment.Multiline
+'t' Comment.Multiline
+'i' Comment.Multiline
+'o' Comment.Multiline
+'n' Comment.Multiline
+'s' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'targetFamOpt' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'Exp' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'cid' Name
+' ' Text
+'option' Name
+' ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'a' Comment.Multiline
+'r' Comment.Multiline
+'g' Comment.Multiline
+'e' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'y' Comment.Multiline
+'p' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+'f' Comment.Multiline
+'a' Comment.Multiline
+'m' Comment.Multiline
+'i' Comment.Multiline
+'l' Comment.Multiline
+'y' Comment.Multiline
+' ' Comment.Multiline
+'o' Comment.Multiline
+'r' Comment.Multiline
+' ' Comment.Multiline
+'N' Comment.Multiline
+'O' Comment.Multiline
+'N' Comment.Multiline
+'E' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'targetFam' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'Exp' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'cid' Name
+' ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'a' Comment.Multiline
+'r' Comment.Multiline
+'g' Comment.Multiline
+'e' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'t' Comment.Multiline
+'y' Comment.Multiline
+'p' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+'f' Comment.Multiline
+'a' Comment.Multiline
+'m' Comment.Multiline
+'i' Comment.Multiline
+'l' Comment.Multiline
+'y' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n\n ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'U' Comment.Multiline
+'s' Comment.Multiline
+'e' Comment.Multiline
+'d' Comment.Multiline
+' ' Comment.Multiline
+'i' Comment.Multiline
+'n' Comment.Multiline
+' ' Comment.Multiline
+'F' Comment.Multiline
+'l' Comment.Multiline
+'i' Comment.Multiline
+'t' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n ' Text
+'val' Keyword.Reserved
+' ' Text
+'rename' Name.Variable
+' ' Text
+':' Punctuation
+' ' Text
+'cid' Name
+' ' Text
+'*' Name
+' ' Text
+'string' Name
+' ' Text
+'->' Punctuation
+' ' Text
+'unit' Name
+'\n\n' Text
+
+'end' Keyword.Reserved
+';' Punctuation
+' ' Text
+'(*' Comment.Multiline
+' ' Comment.Multiline
+'s' Comment.Multiline
+'i' Comment.Multiline
+'g' Comment.Multiline
+'n' Comment.Multiline
+'a' Comment.Multiline
+'t' Comment.Multiline
+'u' Comment.Multiline
+'r' Comment.Multiline
+'e' Comment.Multiline
+' ' Comment.Multiline
+'I' Comment.Multiline
+'N' Comment.Multiline
+'T' Comment.Multiline
+'S' Comment.Multiline
+'Y' Comment.Multiline
+'N' Comment.Multiline
+' ' Comment.Multiline
+'*)' Comment.Multiline
+'\n' Text