xref: /freebsd/usr.bin/vgrind/vgrindefs.src (revision 2be1a816b9ff69588e55be0a84cbe2a31efc0f2f)
1# Copyright (c) 1987, 1993
2#	The Regents of the University of California.  All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions
6# are met:
7# 1. Redistributions of source code must retain the above copyright
8#    notice, this list of conditions and the following disclaimer.
9# 2. Redistributions in binary form must reproduce the above copyright
10#    notice, this list of conditions and the following disclaimer in the
11#    documentation and/or other materials provided with the distribution.
12# 3. All advertising materials mentioning features or use of this software
13#    must display the following acknowledgement:
14#	This product includes software developed by the University of
15#	California, Berkeley and its contributors.
16# 4. Neither the name of the University nor the names of its contributors
17#    may be used to endorse or promote products derived from this software
18#    without specific prior written permission.
19#
20# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23# ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30# SUCH DAMAGE.
31#
32#	@(#)vgrindefs.src	8.1 (Berkeley) 6/6/93
33#
34
35C|c:\
36	:pb=^\a?\d?*?\d?\p\d?\(\a?\)(\d|{):\
37	:bb={:be=}:cb=/*:ce=*/:sb=":se=\e":lb=':\
38	:le=\e':tl:\
39	:kw=asm auto break case char continue default do double else enum\
40	extern float for fortran goto if int long register return short\
41	sizeof static struct switch typedef union unsigned void while #define\
42	#else #endif #if #ifdef #ifndef #include #undef # define else endif\
43	if ifdef ifndef include undef:
44model|mod|m:\
45	:pb=^\d(space\d\p\drep)|(\p\dis|inline|public\dbeginproc):\
46	:bb=\dbeginproc|space|case\d:be=\dendproc|end\d|;:\
47	:cb=\$:ce=\$|$:sb=":se=":lb=':le=\a|$:\
48	:kw=abs and array beginproc boolean by case cdnl char copied dispose\
49	div do dynamic else elsif end endproc entry external FALSE false\
50	fi file for formal fortran global if iff ift\
51	in integer include inline is lbnd\
52	max min mod new NIL nil noresult not notin od of or procedure public\
53	read readln readonly record recursive rem rep repeat res\
54	result return set\
55	space string subscript such then TRUE true type ubnd union until\
56	varies while width:
57pascal|pasc|p:\
58	:pb=(^\d?procedure|function|program\d\p\d|\(|;|\:)|(=\d?record\d):\
59	:bb=\dcase|begin\d:be=\dend|forward\d|;:\
60	:cb={:ce=}:\
61	:ab=\(*:ae=*\):\
62	:sb=':se=':\
63	:kw=and array assert begin case const div do downto else end file for\
64	forward function goto if in label mod nil not of or packed procedure\
65	program record repeat set then to type until var while with oct hex\
66	external:
67ISP|isp|i:\
68	:cb=!:ce=!|$:oc:\
69	:kw=and begin decode define end eql eqv geq gtr if leave leq lss mod\
70	neq next not or otherwise repeat restart resume sr0 sr1 srd srr sl0 sl1\
71	sld slr tst xor:
72SH|sh:\
73	:bb={:be=}:cb=#:ce=$:sb=":se=\e":lb=':\
74	:le=\e':tl:\
75	:kw=break case cd continue do done \
76	elif else esac eval exec exit export \
77	fi for if in then while until \
78	read readonly set shift test trap umask wait:
79CSH|csh:\
80	:bb={:be=}:cb=#:ce=$:sb=":se=\e":lb=':\
81	:le=\e':tl:\
82	:kw=alias alloc break breaksw case cd chdir continue default\
83	echo else end endif endsw exec exit foreach \
84	glob goto history if logout nice nohup onintr repeat set\
85	setenv shift source switch then time \
86	while umask unalias unset wait while @ env \
87	argv child home ignoreeof noclobber noglob \
88	nomatch path prompt shell status verbose :
89ldl|LDL:\
90	:pb=^\p\::bb=\::be=;:cb=/*:ce=*/:sb=":se=\e":\
91	:kw=constant functions grammar reswords tokens add1 addste\
92	car cdr check colno cond cons copy defun divide empty enter\
93	eq equal findattr firstchild ge getattr getfield gt hash label\
94	lambda lastchild le leftsibling lookone lookup lt minus name ne\
95	newnode nextcom nil null parent plus precnl prevcom prog progn\
96	quote reglob return rightsibling self set setattr setfield setq\
97	stjoin sub1 t times tnull tokno ttype:
98Icon|icon|I:\
99	:pb=^\d?procedure\d\p\d?\(\a?\):\
100	:bb=(^\d?procedure\d\p\d?\(\a?\))|{:be=}|(^\d?end\d?$):\
101	:cb=#:ce=$:\
102	:sb=":se=\e":lb=':le=\e':tl:\
103	:kw=break by case create default do dynamic else end every external\
104	fail global if initial local next not of procedure record\
105	repeat return static suspend then to until using while\
106	&ascii &clock &cset &date &dateline &errout &fail &host &input\
107	&lcase &level &main &null &output &pos &random &source &subject\
108	&time &trace &ucase &version:
109ratfor|rat|r:\
110	:pb=(subroutine|function)\d\p\d?\(\a?\):\
111	:bb=(subroutine|function)\d\p\d?\(\a?\):be=^\d?end:\
112	:cb=#:ce=$:\
113	:sb=":se=\e":lb=':le=\e':oc:\
114	:kw=DRETURN DRIVER arith break case character default define do\
115	else elsedef enddef filedes for function goto if ifdef ifelse\
116	ifnotdef include incr integer linepointer next opeq pointer\
117	real repeat return select string subroutine substr until:
118modula2|mod2|m2:\
119	:pb=(^\d?(procedure|function|module)\d\p\d|\(|;|\:):\
120	:bb=\d(begin|case|for|if|loop|record|repeat|while|with)\d:\
121	:be=\dend|;:\
122	:cb={:ce=}:\
123	:ab=\(*:ae=*\):\
124	:sb=":se=":\
125	:oc:\
126	:kw=and array begin by case const\
127	definition div do else elsif end exit export\
128	for from if implementation import in\
129	loop mod module not of or pointer procedure qualified\
130	record repeat return set then to type\
131	until var while with:
132yacc|Yacc|y:\
133	:cb=/*:ce=*/:sb=":se=\e":lb=':le=\e':tl:\
134	:kw=%{ %} %% %union %token %type\
135	#else #endif #if #ifdef #ifndef #include #undef # define else endif\
136	if ifdef ifndef include undef:
137C++|c++:\
138	:pb=^\a?\d?*?\d?\p\d?\(\a?\)(\d|{):\
139	:bb={:be=}:cb=/*:ce=*/:ab=//:\
140	:ae=$:sb=":se=\e":lb=':\
141	:le=\e':tl:\
142	:kw=asm auto break case char continue default do double else enum\
143	extern float for fortran goto if int long register return short\
144	sizeof static struct switch typedef union unsigned while void #define\
145	#else #endif #if #ifdef #ifndef #include #undef # define endif\
146	ifdef ifndef include undef defined\
147	class const delete friend inline new operator overload private\
148	protected public virtual:
149#
150# Hack alert: defining function calls as `alternate comments' (ab/ae) seems
151# to be the only way to avoid major confusion inside vfontedpr for calls like:
152#   &packagename'function;
153#
154Perl|perl|pl:\
155	:pb=sub\d\p\d:bb={:be=}:cb=#:ce=$:nc=\$#:tl:\
156	:ab=&:ae=(;|\d|,):\
157	:sb=":se=(\e"|$):lb=':le=(\e'|$):\
158	:kw=do if unless while until else elsif for foreach continue\
159	next redo sub last goto return die exit require:
160