12205Srootmodel|mod|m:\
28787Smckusick	:pb=^\d(space\d\p\drep)|(\p\dis|inline|public\dbeginproc):\
38787Smckusick	:bb=\dbeginproc|space|case\d:be=\dendproc|end\d|;:\
43850Spresott	:cb=\$:ce=\$|$:sb=":se=":lb=':le=\a|$:\
52205Sroot	:kw=abs and array beginproc boolean by case cdnl char copied dispose\
68787Smckusick	div do dynamic else elsif end endproc entry external FALSE false\
78787Smckusick	fi file for formal fortran global if iff ift\
88787Smckusick	in integer include inline is lbnd\
92205Sroot	max min mod new NIL nil noresult not notin od of or procedure public\
108787Smckusick	read readln readonly record recursive rem rep repeat res\
118787Smckusick	result return set\
122205Sroot	space string subscript such then TRUE true type ubnd union until\
138787Smckusick	varies while width:
142205Srootpascal|pasc|p:\
152205Sroot	:pb=(^\d?procedure|function|program\d\p\d|\(|;|\:)|(=\d?record\d):\
162205Sroot	:bb=\dcase|begin\d:be=\dend|forward\d|;:\
173883Spresott	:cb={:ce=}:\
183883Spresott	:ab=\(*:ae=*\):\
193883Spresott	:sb=':se=':\
202205Sroot	:kw=and array assert begin case const div do downto else end file for\
212205Sroot	forward function goto if in label mod nil not of or packed procedure\
222205Sroot	program record repeat set then to type until var while with oct hex\
232205Sroot	external:
242205SrootC|c:\
253395Spresott	:pb=^\d?*?\d?\p\d?\(\a?\)(\d|{):bb={:be=}:cb=/*:ce=*/:sb=":se=\e":lb=':\
262205Sroot	:le=\e':tl:\
272205Sroot	:kw=asm auto break case char continue default do double else enum\
282205Sroot	extern float for fortran goto if int long register return short\
2917217Sralph	sizeof static struct switch typedef union unsigned void while #define\
302205Sroot	#else #endif #if #ifdef #ifndef #include #undef # define else endif\
312205Sroot	if ifdef ifndef include undef:
322290SrootISP|isp|i:\
332292Sroot	:cb=!:ce=!|$:oc:\
342205Sroot	:kw=and begin decode define end eql eqv geq gtr if leave leq lss mod\
352205Sroot	neq next not or otherwise repeat restart resume sr0 sr1 srd srr sl0 sl1\
362205Sroot	sld slr tst xor:
373236SpresottSH|sh:\
383237Spresott	:bb={:be=}:cb=#:ce=$:sb=":se=\e":lb=':\
393236Spresott	:le=\e':tl:\
403236Spresott	:kw=break case cd continue do done \
413236Spresott	elif else esac eval exec exit export \
423236Spresott	fi for if in then while until \
433236Spresott	read readonly set shift test trap umask wait:
443236SpresottCSH|csh:\
453237Spresott	:bb={:be=}:cb=#:ce=$:sb=":se=\e":lb=':\
463236Spresott	:le=\e':tl:\
473237Spresott	:kw=alias alloc break breaksw case cd chdir continue default\
483236Spresott	echo else end endif endsw exec exit foreach \
493237Spresott	glob goto history if logout nice nohup onintr repeat set\
503236Spresott	setenv shift source switch then time \
513236Spresott	while umask unalias unset wait while @ env \
523236Spresott	argv child home ignoreeof noclobber noglob \
533236Spresott	nomatch path prompt shell status verbose :
548787Smckusickldl|LDL:\
558787Smckusick	:pb=^\p\::bb=\::be=;:cb=/*:ce=*/:sb=":se=\e":\
568787Smckusick	:kw=constant functions grammar reswords tokens add1 addste\
578787Smckusick	car cdr check colno cond cons copy defun divide empty enter\
588787Smckusick	eq equal findattr firstchild ge getattr getfield gt hash label\
598787Smckusick	lambda lastchild le leftsibling lookone lookup lt minus name ne\
608787Smckusick	newnode nextcom nil null parent plus precnl prevcom prog progn\
618787Smckusick	quote reglob return rightsibling self set setattr setfield setq\
628787Smckusick	stjoin sub1 t times tnull tokno ttype:
6312935SmoIcon|icon|I:\
6412935Smo	:pb=^\d?procedure\d\p\d?\(\a?\):\
6512935Smo	:bb=(^\d?procedure\d\p\d?\(\a?\))|{:be=}|(^\d?end\d?$):\
6612935Smo	:cb=#:ce=$:\
6712935Smo	:sb=":se=\e":lb=':le=\e':tl:\
6812935Smo	:kw=break by case create default do dynamic else end every external\
6912935Smo	fail global if initial local next not of procedure record\
7012935Smo	repeat return static suspend then to until using while\
7112935Smo	&ascii &clock &cset &date &dateline &errout &fail &host &input\
7212935Smo	&lcase &level &main &null &output &pos &random &source &subject\
7312935Smo	&time &trace &ucase &version:
7412935Smoratfor|rat|r:\
7512935Smo	:pb=(subroutine|function)\d\p\d?\(\a?\):\
7612935Smo	:bb=(subroutine|function)\d\p\d?\(\a?\):be=^\d?end:\
7712935Smo	:cb=#:ce=$:\
7812935Smo	:sb=":se=\e":lb=':le=\e':oc:\
7912935Smo	:kw=DRETURN DRIVER arith break case character default define do\
8012935Smo	else elsedef enddef filedes for function goto if ifdef ifelse\
8112935Smo	ifnotdef include incr integer linepointer next opeq pointer\
8212935Smo	real repeat return select string subroutine substr until:
83*17532Srrhmodula2|mod2|m2:\
84*17532Srrh	:pb=(^\d?(procedure|function|module)\d\p\d|\(|;|\:):\
85*17532Srrh	:bb=\d(begin|case|for|if|loop|record|repeat|while|with)\d:\
86*17532Srrh	:be=\dend|;:\
87*17532Srrh	:cb={:ce=}:\
88*17532Srrh	:ab=\(*:ae=*\):\
89*17532Srrh	:sb=":se=":\
90*17532Srrh	:oc:\
91*17532Srrh	:kw=and array begin by case const\
92*17532Srrh	definition div do else elsif end exit export\
93*17532Srrh	for from if implementation import in\
94*17532Srrh	loop mod module not of or pointer procedure qualified\
95*17532Srrh	record repeat return set then to type\
96*17532Srrh	until var while with:
97*17532Srrhyacc|Yacc|y:\
98*17532Srrh	:cb=/*:ce=*/:sb=":se=\e":lb=':le=\e':tl:\
99*17532Srrh	:kw=%{ %} %% %union %token %type\
100*17532Srrh	#else #endif #if #ifdef #ifndef #include #undef # define else endif\
101*17532Srrh	if ifdef ifndef include undef:
102