vgrindefs.src revision 19019
11590Srgrimes# Copyright (c) 1987, 1993 21590Srgrimes# The Regents of the University of California. All rights reserved. 31590Srgrimes# 41590Srgrimes# Redistribution and use in source and binary forms, with or without 51590Srgrimes# modification, are permitted provided that the following conditions 61590Srgrimes# are met: 71590Srgrimes# 1. Redistributions of source code must retain the above copyright 81590Srgrimes# notice, this list of conditions and the following disclaimer. 91590Srgrimes# 2. Redistributions in binary form must reproduce the above copyright 101590Srgrimes# notice, this list of conditions and the following disclaimer in the 111590Srgrimes# documentation and/or other materials provided with the distribution. 121590Srgrimes# 3. All advertising materials mentioning features or use of this software 131590Srgrimes# must display the following acknowledgement: 141590Srgrimes# This product includes software developed by the University of 151590Srgrimes# California, Berkeley and its contributors. 161590Srgrimes# 4. Neither the name of the University nor the names of its contributors 171590Srgrimes# may be used to endorse or promote products derived from this software 181590Srgrimes# without specific prior written permission. 191590Srgrimes# 201590Srgrimes# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 211590Srgrimes# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 221590Srgrimes# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 231590Srgrimes# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 241590Srgrimes# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 251590Srgrimes# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 261590Srgrimes# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 271590Srgrimes# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 281590Srgrimes# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 291590Srgrimes# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 301590Srgrimes# SUCH DAMAGE. 311590Srgrimes# 321590Srgrimes# @(#)vgrindefs.src 8.1 (Berkeley) 6/6/93 331590Srgrimes# 341590Srgrimes 351590SrgrimesC|c:\ 3619019Sjoerg :pb=^\a?\d?*?\d?\p\d?\(\a?\)(\d|{):\ 3719019Sjoerg :bb={:be=}:cb=/*:ce=*/:sb=":se=\e":lb=':\ 381590Srgrimes :le=\e':tl:\ 391590Srgrimes :kw=asm auto break case char continue default do double else enum\ 401590Srgrimes extern float for fortran goto if int long register return short\ 411590Srgrimes sizeof static struct switch typedef union unsigned void while #define\ 421590Srgrimes #else #endif #if #ifdef #ifndef #include #undef # define else endif\ 431590Srgrimes if ifdef ifndef include undef: 441590Srgrimesmodel|mod|m:\ 451590Srgrimes :pb=^\d(space\d\p\drep)|(\p\dis|inline|public\dbeginproc):\ 461590Srgrimes :bb=\dbeginproc|space|case\d:be=\dendproc|end\d|;:\ 471590Srgrimes :cb=\$:ce=\$|$:sb=":se=":lb=':le=\a|$:\ 481590Srgrimes :kw=abs and array beginproc boolean by case cdnl char copied dispose\ 491590Srgrimes div do dynamic else elsif end endproc entry external FALSE false\ 501590Srgrimes fi file for formal fortran global if iff ift\ 511590Srgrimes in integer include inline is lbnd\ 521590Srgrimes max min mod new NIL nil noresult not notin od of or procedure public\ 531590Srgrimes read readln readonly record recursive rem rep repeat res\ 541590Srgrimes result return set\ 551590Srgrimes space string subscript such then TRUE true type ubnd union until\ 561590Srgrimes varies while width: 571590Srgrimespascal|pasc|p:\ 581590Srgrimes :pb=(^\d?procedure|function|program\d\p\d|\(|;|\:)|(=\d?record\d):\ 591590Srgrimes :bb=\dcase|begin\d:be=\dend|forward\d|;:\ 601590Srgrimes :cb={:ce=}:\ 611590Srgrimes :ab=\(*:ae=*\):\ 621590Srgrimes :sb=':se=':\ 631590Srgrimes :kw=and array assert begin case const div do downto else end file for\ 641590Srgrimes forward function goto if in label mod nil not of or packed procedure\ 651590Srgrimes program record repeat set then to type until var while with oct hex\ 661590Srgrimes external: 671590SrgrimesISP|isp|i:\ 681590Srgrimes :cb=!:ce=!|$:oc:\ 691590Srgrimes :kw=and begin decode define end eql eqv geq gtr if leave leq lss mod\ 701590Srgrimes neq next not or otherwise repeat restart resume sr0 sr1 srd srr sl0 sl1\ 711590Srgrimes sld slr tst xor: 721590SrgrimesSH|sh:\ 731590Srgrimes :bb={:be=}:cb=#:ce=$:sb=":se=\e":lb=':\ 741590Srgrimes :le=\e':tl:\ 751590Srgrimes :kw=break case cd continue do done \ 761590Srgrimes elif else esac eval exec exit export \ 771590Srgrimes fi for if in then while until \ 781590Srgrimes read readonly set shift test trap umask wait: 791590SrgrimesCSH|csh:\ 801590Srgrimes :bb={:be=}:cb=#:ce=$:sb=":se=\e":lb=':\ 811590Srgrimes :le=\e':tl:\ 821590Srgrimes :kw=alias alloc break breaksw case cd chdir continue default\ 831590Srgrimes echo else end endif endsw exec exit foreach \ 841590Srgrimes glob goto history if logout nice nohup onintr repeat set\ 851590Srgrimes setenv shift source switch then time \ 861590Srgrimes while umask unalias unset wait while @ env \ 871590Srgrimes argv child home ignoreeof noclobber noglob \ 881590Srgrimes nomatch path prompt shell status verbose : 891590Srgrimesldl|LDL:\ 901590Srgrimes :pb=^\p\::bb=\::be=;:cb=/*:ce=*/:sb=":se=\e":\ 911590Srgrimes :kw=constant functions grammar reswords tokens add1 addste\ 921590Srgrimes car cdr check colno cond cons copy defun divide empty enter\ 931590Srgrimes eq equal findattr firstchild ge getattr getfield gt hash label\ 941590Srgrimes lambda lastchild le leftsibling lookone lookup lt minus name ne\ 951590Srgrimes newnode nextcom nil null parent plus precnl prevcom prog progn\ 961590Srgrimes quote reglob return rightsibling self set setattr setfield setq\ 971590Srgrimes stjoin sub1 t times tnull tokno ttype: 981590SrgrimesIcon|icon|I:\ 991590Srgrimes :pb=^\d?procedure\d\p\d?\(\a?\):\ 1001590Srgrimes :bb=(^\d?procedure\d\p\d?\(\a?\))|{:be=}|(^\d?end\d?$):\ 1011590Srgrimes :cb=#:ce=$:\ 1021590Srgrimes :sb=":se=\e":lb=':le=\e':tl:\ 1031590Srgrimes :kw=break by case create default do dynamic else end every external\ 1041590Srgrimes fail global if initial local next not of procedure record\ 1051590Srgrimes repeat return static suspend then to until using while\ 1061590Srgrimes &ascii &clock &cset &date &dateline &errout &fail &host &input\ 1071590Srgrimes &lcase &level &main &null &output &pos &random &source &subject\ 1081590Srgrimes &time &trace &ucase &version: 1091590Srgrimesratfor|rat|r:\ 1101590Srgrimes :pb=(subroutine|function)\d\p\d?\(\a?\):\ 1111590Srgrimes :bb=(subroutine|function)\d\p\d?\(\a?\):be=^\d?end:\ 1121590Srgrimes :cb=#:ce=$:\ 1131590Srgrimes :sb=":se=\e":lb=':le=\e':oc:\ 1141590Srgrimes :kw=DRETURN DRIVER arith break case character default define do\ 1151590Srgrimes else elsedef enddef filedes for function goto if ifdef ifelse\ 1161590Srgrimes ifnotdef include incr integer linepointer next opeq pointer\ 1171590Srgrimes real repeat return select string subroutine substr until: 1181590Srgrimesmodula2|mod2|m2:\ 1191590Srgrimes :pb=(^\d?(procedure|function|module)\d\p\d|\(|;|\:):\ 1201590Srgrimes :bb=\d(begin|case|for|if|loop|record|repeat|while|with)\d:\ 1211590Srgrimes :be=\dend|;:\ 1221590Srgrimes :cb={:ce=}:\ 1231590Srgrimes :ab=\(*:ae=*\):\ 1241590Srgrimes :sb=":se=":\ 1251590Srgrimes :oc:\ 1261590Srgrimes :kw=and array begin by case const\ 1271590Srgrimes definition div do else elsif end exit export\ 1281590Srgrimes for from if implementation import in\ 1291590Srgrimes loop mod module not of or pointer procedure qualified\ 1301590Srgrimes record repeat return set then to type\ 1311590Srgrimes until var while with: 1321590Srgrimesyacc|Yacc|y:\ 1331590Srgrimes :cb=/*:ce=*/:sb=":se=\e":lb=':le=\e':tl:\ 1341590Srgrimes :kw=%{ %} %% %union %token %type\ 1351590Srgrimes #else #endif #if #ifdef #ifndef #include #undef # define else endif\ 1361590Srgrimes if ifdef ifndef include undef: 1371590SrgrimesC++|c++:\ 13819019Sjoerg :pb=^\a?\d?*?\d?\p\d?\(\a?\)(\d|{):\ 13919019Sjoerg :bb={:be=}:cb=/*:ce=*/:ab=//:\ 1401590Srgrimes :ae=$:sb=":se=\e":lb=':\ 1411590Srgrimes :le=\e':tl:\ 1421590Srgrimes :kw=asm auto break case char continue default do double else enum\ 1431590Srgrimes extern float for fortran goto if int long register return short\ 1441590Srgrimes sizeof static struct switch typedef union unsigned while void #define\ 1451590Srgrimes #else #endif #if #ifdef #ifndef #include #undef # define endif\ 1461590Srgrimes ifdef ifndef include undef defined\ 1471590Srgrimes class const delete friend inline new operator overload private\ 1481590Srgrimes protected public virtual: 14918944Sjoerg# 15018944Sjoerg# Hack alert: defining function calls as `alternate comments' (ab/ae) seems 15118944Sjoerg# to be the only way to avoid major confusion inside vfontedpr for calls like: 15218944Sjoerg# &packagename'function; 15318944Sjoerg# 15418944SjoergPerl|perl|pl:\ 15519012Sjoerg :pb=sub\d\p\d:bb={:be=}:cb=#:ce=$:nc=\$#:tl:\ 15618944Sjoerg :ab=&:ae=(;|\d|,):\ 15718944Sjoerg :sb=":se=(\e"|$):lb=':le=(\e'|$):\ 15818944Sjoerg :kw=do if unless while until else elsif for foreach continue\ 15918944Sjoerg next redo sub last goto return die exit require: 160