dotfiles

My dotfiles.
Log | Files | Refs | LICENSE

fortran.jsf (13457B)


      1 # JOE syntax highlight file for FORTRAN
      2 # Heavily improved by: Malte Thoma (thoma@uni-muenster.de)
      3 
      4 # Bugs:
      5 #  in:  4.  eq.   -- does not recognize the .eq.
      6 #  needs more intrinsics.
      7 
      8 =Idle
      9 =Ident
     10 =Comment
     11 =Constant
     12 =Number		+Constant
     13 =Boolean	+Constant
     14 =String		+Constant
     15 =Type
     16 =Keyword
     17 =Operator	+Keyword
     18 =Statement	+Keyword
     19 =Builtin	+DefinedFunction
     20 =Loop		+Statement
     21 =Conditional	+Statement
     22 =Label		+Statement
     23 =Preproc
     24 =Bad
     25 
     26 # First character of line...
     27 
     28 :reset Idle
     29 	*		idle		noeat
     30 	"\n"		reset
     31 	"cC*"		comment		recolor=-1
     32 	"#"		pre		recolor=-1
     33 
     34 :pre	Preproc					
     35 	*		pre				
     36 	"\n"		reset			
     37 	
     38 :comment Comment comment
     39 	*		comment
     40 	"BFHNTX"	comment		noeat call=comment_todo.comment_todo()
     41 	"\n"		reset
     42 
     43 :idle Idle
     44 	*		idle
     45 	"!"		comment		recolor=-1
     46 	"\n"		reset
     47 	"0-9"		first_number	recolor=-1
     48 	"."		have_dot
     49 	"'"		string		recolor=-1
     50 	"a-zA-Z_"	ident		buffer
     51 
     52 :first_number Number
     53 	*		idle	noeat
     54 	"0-9"		first_number
     55 	"."		second_start
     56 	"eEdD"		epart
     57 
     58 :have_dot Number
     59 	*		idle	recolor=-2	noeat
     60 	"0-9"		second_number		recolor=-2
     61 	" \ta-zA-Z"	operator1	noeat recolor=-2
     62 
     63 # Color the left .
     64 
     65 :operator1 Operator
     66 	*	operator	buffer noeat
     67 	" \t"	operator1
     68 
     69 # Default color is Idle for unknown operator
     70 
     71 :operator Idle
     72 	*		idle	noeat
     73 	"a-zA-Z"	operator
     74 	". \t"		unknown	noeat istrings
     75 	"gt"		op
     76 	"ge"		op
     77 	"eq"		op
     78 	"le"		op
     79 	"ne"		op
     80 	"lt"		op
     81 	"and"		op
     82 	"or"		op
     83 	"llt"		op
     84 	"lle"		op
     85 	"lgt"		op
     86 	"lge"		op
     87 	"not"		op
     88 	"false"		bool
     89 	"true"		bool
     90 done
     91 
     92 # Eat the right .
     93 
     94 :unknown Operator
     95 	*	idle
     96 	" \t"	unknown
     97 
     98 :op Operator
     99 	*	idle
    100 	" \t"	op
    101 
    102 :bool Boolean
    103 	*	idle
    104 	"."	op noeat
    105 	" \t"	const
    106 
    107 # For distrinuishing between 4.e1 and 4.eq.
    108 
    109 :second_start Number
    110 	*	idle	noeat
    111 	"a-zA-Z"	operator1	noeat recolor=-2
    112 	"dD"	epart
    113 	"eE"	epart1
    114 	"0-9"	second_number
    115 
    116 :epart1 Number
    117 	*		idle	noeat
    118 	"q"		epart2
    119 	"0-9+\-"	enum
    120 
    121 :epart2	Idle
    122 	*		idle	noeat
    123 	". \t"		op	noeat recolor=-4
    124 
    125 :second_number Number
    126 	*		idle	noeat
    127 	"eEdD"		epart
    128 	"0-9"		second_number
    129 
    130 :epart Number
    131 	*		idle	noeat
    132 	"0-9+\-"	enum
    133 
    134 :enum Number
    135 	*		idle	noeat
    136 	"0-9"		enum
    137 
    138 :string	String string
    139 	*		string
    140 	"\n"		reset
    141 	"'"		maybe_end_string
    142 
    143 :maybe_end_string String string
    144 	*		idle	noeat
    145 	"'"		string
    146 
    147 :ident Ident
    148 	*		idle		noeat istrings
    149 	"allocate"	kw
    150 	"allocatable"	kw
    151 	"assign"	kw
    152 	"assignment"	kw
    153 	"backspace"	kw
    154 	"block"		kw
    155 	"blockdata"	kw
    156 	"call"		kw
    157 	"case"		label
    158 	"character"	type
    159 	"close"		kw
    160 	"common"	kw
    161 	"complex"	type
    162 	"contains"	kw
    163 	"continue"	loop
    164 	"cycle"		kw
    165 	"data"		kw
    166 	"deallocate"	kw
    167 	"default"	label
    168 	"dimension"	type
    169 	"do"		loop
    170 	"double"	type
    171 	"doubleprecision"	type
    172 	"elemental"	kw
    173 	"else"		cond
    174 	"elseif"	cond
    175 	"elsewhere"	cond
    176 	"end"		kw
    177 	"endblock"	kw
    178 	"endblockdata"	kw
    179 	"enddo"		loop
    180 	"endfile"	kw
    181 	"endforall"	loop
    182 	"endif"		cond
    183 	"endinterface"	kw
    184 	"endmodule"	kw
    185 	"endselect"	cond
    186 	"endtype"	kw
    187 	"endwhere"	kw
    188 	"entry"		kw
    189 	"equivalence"	kw
    190 	"exit"		kw
    191 	"external"	kw
    192 	"forall"	loop
    193 	"format"	kw
    194 	"function"	kw
    195 	"go"		loop
    196 	"goto"		loop
    197 	"if"		cond
    198 	"implicit"	kw
    199 	"in"		kw
    200 	"inout"		kw
    201 	"inquire"	kw
    202 	"integer"	type
    203 	"intent"	kw
    204 	"interface"	kw
    205 	"intrinsic"	kw
    206 	"iolength"	kw
    207 	"kind"		kw
    208 	"logical"	type
    209 	"module"	kw
    210 	"namelist"	kw
    211 	"none"		kw
    212 	"nullify"	kw
    213 	"only"		kw
    214 	"open"		kw
    215 	"optional"	kw
    216 	"out"		kw
    217 	"parameter"	kw
    218 	"pause"		kw
    219 	"pointer"	kw
    220 	"precision"	type
    221 	"print"		kw
    222 	"private"	kw
    223 	"procedure"	kw
    224 	"program"	kw
    225 	"publc"		kw
    226 	"public"	kw
    227 	"pure"		kw
    228 	"read"		kw
    229 	"real"		type
    230 	"recursive"	kw
    231 	"result"	kw
    232 	"return"	kw
    233 	"rewind"	kw
    234 	"save"		kw
    235 	"select"	cond
    236 	"selectcase"	cond
    237 	"sequence"	kw
    238 	"stat"		kw
    239 	"stop"		kw
    240 	"subroutine"	kw
    241 	"target"	kw
    242 	"then"		cond
    243 	"to"		loop
    244 	"type"		kw
    245 	"use"		kw
    246 	"where"		kw
    247 	"while"		loop
    248 	"write"		kw
    249 done
    250 	"("		idle	noeat istrings
    251 # Keywords have to be duplicated here...
    252 	"allocate"	kw
    253 	"allocatable"	kw
    254 	"assign"	kw
    255 	"assignment"	kw
    256 	"backspace"	kw
    257 	"block"		kw
    258 	"blockdata"	kw
    259 	"call"		kw
    260 	"case"		label
    261 	"character"	type
    262 	"close"		kw
    263 	"common"	kw
    264 	"complex"	type
    265 	"contains"	kw
    266 	"continue"	loop
    267 	"cycle"		kw
    268 	"data"		kw
    269 	"deallocate"	kw
    270 	"default"	label
    271 	"dimension"	type
    272 	"do"		loop
    273 	"double"	type
    274 	"doubleprecision"	type
    275 	"elemental"	kw
    276 	"else"		cond
    277 	"elseif"	cond
    278 	"elsewhere"	cond
    279 	"end"		kw
    280 	"endblock"	kw
    281 	"endblockdata"	kw
    282 	"enddo"		loop
    283 	"endfile"	kw
    284 	"endforall"	loop
    285 	"endif"		cond
    286 	"endinterface"	kw
    287 	"endmodule"	kw
    288 	"endselect"	cond
    289 	"endtype"	kw
    290 	"endwhere"	kw
    291 	"entry"		kw
    292 	"equivalence"	kw
    293 	"exit"		kw
    294 	"external"	kw
    295 	"forall"	loop
    296 	"format"	kw
    297 	"function"	kw
    298 	"go"		loop
    299 	"goto"		loop
    300 	"if"		cond
    301 	"implicit"	kw
    302 	"in"		kw
    303 	"inout"		kw
    304 	"inquire"	kw
    305 	"integer"	type
    306 	"intent"	kw
    307 	"interface"	kw
    308 	"intrinsic"	kw
    309 	"iolength"	kw
    310 	"kind"		kw
    311 	"logical"	type
    312 	"module"	kw
    313 	"namelist"	kw
    314 	"none"		kw
    315 	"nullify"	kw
    316 	"only"		kw
    317 	"open"		kw
    318 	"optional"	kw
    319 	"out"		kw
    320 	"parameter"	kw
    321 	"pause"		kw
    322 	"pointer"	kw
    323 	"precision"	type
    324 	"print"		kw
    325 	"private"	kw
    326 	"procedure"	kw
    327 	"program"	kw
    328 	"publc"		kw
    329 	"public"	kw
    330 	"pure"		kw
    331 	"read"		kw
    332 	"real"		kw
    333 	"recursive"	kw
    334 	"result"	kw
    335 	"return"	kw
    336 	"rewind"	kw
    337 	"save"		kw
    338 	"select"	cond
    339 	"selectcase"	cond
    340 	"sequence"	kw
    341 	"stat"		kw
    342 	"stop"		kw
    343 	"subroutine"	kw
    344 	"target"	kw
    345 	"then"		cond
    346 	"to"		loop
    347 	"type"		kw
    348 	"use"		kw
    349 	"where"		kw
    350 	"while"		loop
    351 	"write"		kw
    352 # Here are instrinsics
    353 	"abs"		intrinsic
    354 	"achar"		intrinsic
    355 	"acos"		intrinsic
    356 	"adjustl"		intrinsic
    357 	"adjustr"		intrinsic
    358 	"aimag"		intrinsic
    359 	"aint"		intrinsic
    360 	"all"		intrinsic
    361 	"allocated"		intrinsic
    362 	"alog"		intrinsic
    363 	"alog10"	intrinsic
    364 	"anint"		intrinsic
    365 	"any"		intrinsic
    366 	"asin"		intrinsic
    367 	"associated"		intrinsic
    368 	"atan"		intrinsic
    369 	"atan2"		intrinsic
    370 	"bit_size"		intrinsic
    371 	"btest"		intrinsic
    372 	"ceiling"		intrinsic
    373 	"char"		intrinsic
    374 	"cmplx"		intrinsic
    375 	"conjg"		intrinsic
    376 	"cos"		intrinsic
    377 	"cosh"		intrinsic
    378 	"count"		intrinsic
    379 	"cpu_time"		intrinsic
    380 	"cshift"		intrinsic
    381 	"date_and_time"		intrinsic
    382 	"dble"		intrinsic
    383 	"digits"		intrinsic
    384 	"dim"		intrinsic
    385 	"dot_product"		intrinsic
    386 	"dprod"		intrinsic
    387 	"eoshift"		intrinsic
    388 	"epsilon"		intrinsic
    389 	"exp"		intrinsic
    390 	"exponent"		intrinsic
    391 	"false"		bool
    392 	"floor"		intrinsic
    393 	"float"		intrinsic
    394 	"fraction"		intrinsic
    395 	"huge"		intrinsic
    396 	"iachar"		intrinsic
    397 	"iand"		intrinsic
    398 	"ibclr"		intrinsic
    399 	"ibits"		intrinsic
    400 	"ibset"		intrinsic
    401 	"ichar"		intrinsic
    402 	"ieor"		intrinsic
    403 	"index"		intrinsic
    404 	"int"		intrinsic
    405 	"int2"		intrinsic
    406 	"ior"		intrinsic
    407 	"ishft"		intrinsic
    408 	"ishftc"		intrinsic
    409 	"kind"		intrinsic
    410 	"lbound"		intrinsic
    411 	"len"		intrinsic
    412 	"len_trim"		intrinsic
    413 	"lge"		intrinsic
    414 	"lgt"		intrinsic
    415 	"lle"		intrinsic
    416 	"llt"		intrinsic
    417 	"log"		intrinsic
    418 	"log10"		intrinsic
    419 	"matmul"		intrinsic
    420 	"max"		intrinsic
    421 	"maxexponent"		intrinsic
    422 	"maxloc"		intrinsic
    423 	"maxval"		intrinsic
    424 	"merge"		intrinsic
    425 	"min"		intrinsic
    426 	"minexponent"		intrinsic
    427 	"minloc"		intrinsic
    428 	"minval"		intrinsic
    429 	"mod"		intrinsic
    430 	"modulo"		intrinsic
    431 	"mvbits"		intrinsic
    432 	"nearest"		intrinsic
    433 	"nint"		intrinsic
    434 	"not"		intrinsic
    435 	"null"		intrinsic
    436 	"pack"		intrinsic
    437 	"present"		intrinsic
    438 	"product"		intrinsic
    439 	"radix"		intrinsic
    440 	"random_number"		intrinsic
    441 	"random_seed"		intrinsic
    442 	"range"		intrinsic
    443 	"real"		intrinsic
    444 	"repeat"		intrinsic
    445 	"reshape"		intrinsic
    446 	"rrspacing"		intrinsic
    447 	"scale"		intrinsic
    448 	"scan"		intrinsic
    449 	"selected_int_kind"		intrinsic
    450 	"selected_real_kind"		intrinsic
    451 	"set_exponent"		intrinsic
    452 	"shape"		intrinsic
    453 	"sign"		intrinsic
    454 	"sin"		intrinsic
    455 	"sinh"		intrinsic
    456 	"size"		intrinsic
    457 	"spacing"		intrinsic
    458 	"spread"		intrinsic
    459 	"sqrt"		intrinsic
    460 	"sum"		intrinsic
    461 	"system_clock"		intrinsic
    462 	"tan"		intrinsic
    463 	"tanh"		intrinsic
    464 	"tiny"		intrinsic
    465 	"transfer"		intrinsic
    466 	"transpose"		intrinsic
    467 	"trim"		intrinsic
    468 	"true"		intrinsic
    469 	"ubound"		intrinsic
    470 	"unpack"		intrinsic
    471 	"verify"		intrinsic
    472 done
    473 	"a-zA-Z0-9_"	ident
    474 	" \t"	ws_ident	hold
    475 
    476 
    477 # Whitespace after an identifier... we wait to see if there is a "("
    478 :ws_ident Idle
    479 	*		idle		noeat istrings
    480 	"allocate"	kw
    481 	"allocatable"	kw
    482 	"assign"	kw
    483 	"assignment"	kw
    484 	"backspace"	kw
    485 	"block"		kw
    486 	"blockdata"	kw
    487 	"call"		kw
    488 	"case"		label
    489 	"character"	type
    490 	"close"		kw
    491 	"common"	kw
    492 	"complex"	type
    493 	"contains"	kw
    494 	"continue"	loop
    495 	"cycle"		kw
    496 	"data"		kw
    497 	"deallocate"	kw
    498 	"default"	label
    499 	"dimension"	type
    500 	"do"		loop
    501 	"double"	type
    502 	"doubleprecision"	type
    503 	"elemental"	kw
    504 	"else"		cond
    505 	"elseif"	cond
    506 	"elsewhere"	cond
    507 	"end"		kw
    508 	"endblock"	kw
    509 	"endblockdata"	kw
    510 	"enddo"		loop
    511 	"endfile"	kw
    512 	"endforall"	loop
    513 	"endif"		cond
    514 	"endinterface"	kw
    515 	"endmodule"	kw
    516 	"endselect"	cond
    517 	"endtype"	kw
    518 	"endwhere"	kw
    519 	"entry"		kw
    520 	"equivalence"	kw
    521 	"exit"		kw
    522 	"external"	kw
    523 	"forall"	loop
    524 	"format"	kw
    525 	"function"	kw
    526 	"go"		loop
    527 	"goto"		loop
    528 	"if"		cond
    529 	"implicit"	kw
    530 	"in"		kw
    531 	"inout"		kw
    532 	"inquire"	kw
    533 	"integer"	type
    534 	"intent"	kw
    535 	"interface"	kw
    536 	"intrinsic"	kw
    537 	"iolength"	kw
    538 	"kind"		kw
    539 	"logical"	type
    540 	"module"	kw
    541 	"namelist"	kw
    542 	"none"		kw
    543 	"nullify"	kw
    544 	"only"		kw
    545 	"open"		kw
    546 	"optional"	kw
    547 	"out"		kw
    548 	"parameter"	kw
    549 	"pause"		kw
    550 	"pointer"	kw
    551 	"precision"	type
    552 	"print"		kw
    553 	"private"	kw
    554 	"procedure"	kw
    555 	"program"	kw
    556 	"publc"		kw
    557 	"public"	kw
    558 	"pure"		kw
    559 	"read"		kw
    560 	"real"		type
    561 	"recursive"	kw
    562 	"result"	kw
    563 	"return"	kw
    564 	"rewind"	kw
    565 	"save"		kw
    566 	"select"	cond
    567 	"selectcase"	cond
    568 	"sequence"	kw
    569 	"stat"		kw
    570 	"stop"		kw
    571 	"subroutine"	kw
    572 	"target"	kw
    573 	"then"		cond
    574 	"to"		loop
    575 	"type"		kw
    576 	"use"		kw
    577 	"where"		kw
    578 	"while"		loop
    579 	"write"		kw
    580 done
    581 	"("		idle	noeat istrings
    582 # Keywords have to be duplicated here...
    583 	"allocate"	kw
    584 	"allocatable"	kw
    585 	"assign"	kw
    586 	"assignment"	kw
    587 	"backspace"	kw
    588 	"block"		kw
    589 	"blockdata"	kw
    590 	"call"		kw
    591 	"case"		label
    592 	"character"	type
    593 	"close"		kw
    594 	"common"	kw
    595 	"complex"	type
    596 	"contains"	kw
    597 	"continue"	loop
    598 	"cycle"		kw
    599 	"data"		kw
    600 	"deallocate"	kw
    601 	"default"	label
    602 	"dimension"	type
    603 	"do"		loop
    604 	"double"	type
    605 	"doubleprecision"	type
    606 	"elemental"	kw
    607 	"else"		cond
    608 	"elseif"	cond
    609 	"elsewhere"	cond
    610 	"end"		kw
    611 	"endblock"	kw
    612 	"endblockdata"	kw
    613 	"enddo"		loop
    614 	"endfile"	kw
    615 	"endforall"	loop
    616 	"endif"		cond
    617 	"endinterface"	kw
    618 	"endmodule"	kw
    619 	"endselect"	cond
    620 	"endtype"	kw
    621 	"endwhere"	kw
    622 	"entry"		kw
    623 	"equivalence"	kw
    624 	"exit"		kw
    625 	"external"	kw
    626 	"forall"	loop
    627 	"format"	kw
    628 	"function"	kw
    629 	"go"		loop
    630 	"goto"		loop
    631 	"if"		cond
    632 	"implicit"	kw
    633 	"in"		kw
    634 	"inout"		kw
    635 	"inquire"	kw
    636 	"integer"	kw
    637 	"intent"	kw
    638 	"interface"	kw
    639 	"intrinsic"	kw
    640 	"iolength"	kw
    641 	"kind"		kw
    642 	"logical"	type
    643 	"module"	kw
    644 	"namelist"	kw
    645 	"none"		kw
    646 	"nullify"	kw
    647 	"only"		kw
    648 	"open"		kw
    649 	"optional"	kw
    650 	"out"		kw
    651 	"parameter"	kw
    652 	"pause"		kw
    653 	"pointer"	kw
    654 	"precision"	type
    655 	"print"		kw
    656 	"private"	kw
    657 	"procedure"	kw
    658 	"program"	kw
    659 	"publc"		kw
    660 	"public"	kw
    661 	"pure"		kw
    662 	"read"		kw
    663 	"real"		type
    664 	"recursive"	kw
    665 	"result"	kw
    666 	"return"	kw
    667 	"rewind"	kw
    668 	"save"		kw
    669 	"select"	cond
    670 	"selectcase"	cond
    671 	"sequence"	kw
    672 	"stat"		kw
    673 	"stop"		kw
    674 	"subroutine"	kw
    675 	"target"	kw
    676 	"then"		cond
    677 	"to"		loop
    678 	"type"		kw
    679 	"use"		kw
    680 	"where"		kw
    681 	"while"		loop
    682 	"write"		kw
    683 # Here are instrinsics
    684 	"abs"		intrinsic
    685 	"achar"		intrinsic
    686 	"acos"		intrinsic
    687 	"adjustl"		intrinsic
    688 	"adjustr"		intrinsic
    689 	"aimag"		intrinsic
    690 	"aint"		intrinsic
    691 	"all"		intrinsic
    692 	"allocated"		intrinsic
    693 	"alog"		intrinsic
    694 	"alog10"	intrinsic
    695 	"anint"		intrinsic
    696 	"any"		intrinsic
    697 	"asin"		intrinsic
    698 	"associated"		intrinsic
    699 	"atan"		intrinsic
    700 	"atan2"		intrinsic
    701 	"bit_size"		intrinsic
    702 	"btest"		intrinsic
    703 	"ceiling"		intrinsic
    704 	"char"		intrinsic
    705 	"cmplx"		intrinsic
    706 	"conjg"		intrinsic
    707 	"cos"		intrinsic
    708 	"cosh"		intrinsic
    709 	"count"		intrinsic
    710 	"cpu_time"		intrinsic
    711 	"cshift"		intrinsic
    712 	"date_and_time"		intrinsic
    713 	"dble"		intrinsic
    714 	"digits"		intrinsic
    715 	"dim"		intrinsic
    716 	"dot_product"		intrinsic
    717 	"dprod"		intrinsic
    718 	"eoshift"		intrinsic
    719 	"epsilon"		intrinsic
    720 	"exp"		intrinsic
    721 	"exponent"		intrinsic
    722 	"false"		intrinsic
    723 	"floor"		intrinsic
    724 	"float"		intrinsic
    725 	"fraction"		intrinsic
    726 	"huge"		intrinsic
    727 	"iachar"		intrinsic
    728 	"iand"		intrinsic
    729 	"ibclr"		intrinsic
    730 	"ibits"		intrinsic
    731 	"ibset"		intrinsic
    732 	"ichar"		intrinsic
    733 	"ieor"		intrinsic
    734 	"index"		intrinsic
    735 	"int"		intrinsic
    736 	"int2"		intrinsic
    737 	"ior"		intrinsic
    738 	"ishft"		intrinsic
    739 	"ishftc"		intrinsic
    740 	"kind"		intrinsic
    741 	"lbound"		intrinsic
    742 	"len"		intrinsic
    743 	"len_trim"		intrinsic
    744 	"lge"		intrinsic
    745 	"lgt"		intrinsic
    746 	"lle"		intrinsic
    747 	"llt"		intrinsic
    748 	"log"		intrinsic
    749 	"log10"		intrinsic
    750 	"matmul"		intrinsic
    751 	"max"		intrinsic
    752 	"maxexponent"		intrinsic
    753 	"maxloc"		intrinsic
    754 	"maxval"		intrinsic
    755 	"merge"		intrinsic
    756 	"min"		intrinsic
    757 	"minexponent"		intrinsic
    758 	"minloc"		intrinsic
    759 	"minval"		intrinsic
    760 	"mod"		intrinsic
    761 	"modulo"		intrinsic
    762 	"mvbits"		intrinsic
    763 	"nearest"		intrinsic
    764 	"nint"		intrinsic
    765 	"not"		intrinsic
    766 	"null"		intrinsic
    767 	"pack"		intrinsic
    768 	"present"		intrinsic
    769 	"product"		intrinsic
    770 	"radix"		intrinsic
    771 	"random_number"		intrinsic
    772 	"random_seed"		intrinsic
    773 	"range"		intrinsic
    774 	"real"		intrinsic
    775 	"repeat"		intrinsic
    776 	"reshape"		intrinsic
    777 	"rrspacing"		intrinsic
    778 	"scale"		intrinsic
    779 	"scan"		intrinsic
    780 	"selected_int_kind"		intrinsic
    781 	"selected_real_kind"		intrinsic
    782 	"set_exponent"		intrinsic
    783 	"shape"		intrinsic
    784 	"sign"		intrinsic
    785 	"sin"		intrinsic
    786 	"sinh"		intrinsic
    787 	"size"		intrinsic
    788 	"spacing"		intrinsic
    789 	"spread"		intrinsic
    790 	"sqrt"		intrinsic
    791 	"sum"		intrinsic
    792 	"system_clock"		intrinsic
    793 	"tan"		intrinsic
    794 	"tanh"		intrinsic
    795 	"tiny"		intrinsic
    796 	"transfer"		intrinsic
    797 	"transpose"		intrinsic
    798 	"trim"		intrinsic
    799 	"true"		bool
    800 	"ubound"		intrinsic
    801 	"unpack"		intrinsic
    802 	"verify"		intrinsic
    803 done
    804 	" \t"	ws_ident
    805 
    806 :intrinsic Builtin
    807 	*	idle	noeat
    808 
    809 :kw Keyword
    810 	*	idle	noeat
    811 
    812 :type Type
    813 	*	idle	noeat
    814 
    815 :label Label
    816 	*	idle	noeat
    817 
    818 :cond Conditional
    819 	*	idle	noeat
    820 
    821 :loop Loop
    822 	*	idle	noeat