1*7c478bd9Sstevel@tonic-gate# 2*7c478bd9Sstevel@tonic-gate# CDDL HEADER START 3*7c478bd9Sstevel@tonic-gate# 4*7c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the 5*7c478bd9Sstevel@tonic-gate# Common Development and Distribution License, Version 1.0 only 6*7c478bd9Sstevel@tonic-gate# (the "License"). You may not use this file except in compliance 7*7c478bd9Sstevel@tonic-gate# with the License. 8*7c478bd9Sstevel@tonic-gate# 9*7c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10*7c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing. 11*7c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions 12*7c478bd9Sstevel@tonic-gate# and limitations under the License. 13*7c478bd9Sstevel@tonic-gate# 14*7c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each 15*7c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16*7c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the 17*7c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying 18*7c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner] 19*7c478bd9Sstevel@tonic-gate# 20*7c478bd9Sstevel@tonic-gate# CDDL HEADER END 21*7c478bd9Sstevel@tonic-gate# 22*7c478bd9Sstevel@tonic-gate# ident "%Z%%M% %I% %E% SMI" 23*7c478bd9Sstevel@tonic-gate# 24*7c478bd9Sstevel@tonic-gatemodel|mod|m:\ 25*7c478bd9Sstevel@tonic-gate :pb=^\d(space\d\p\drep)|(\p\dis|inline|public\dbeginproc):\ 26*7c478bd9Sstevel@tonic-gate :bb=\dbeginproc|space|case\d:be=\dendproc|end\d|;:\ 27*7c478bd9Sstevel@tonic-gate :cb=\$:ce=\$|$:sb=":se=":lb=':le=\a|$:\ 28*7c478bd9Sstevel@tonic-gate :kw=abs and array beginproc boolean by case cdnl char copied dispose\ 29*7c478bd9Sstevel@tonic-gate div do dynamic else elsif end endproc entry external FALSE false\ 30*7c478bd9Sstevel@tonic-gate fi file for formal fortran global if iff ift\ 31*7c478bd9Sstevel@tonic-gate in integer include inline is lbnd\ 32*7c478bd9Sstevel@tonic-gate max min mod new NIL nil noresult not notin od of or procedure public\ 33*7c478bd9Sstevel@tonic-gate read readln readonly record recursive rem rep repeat res\ 34*7c478bd9Sstevel@tonic-gate result return set\ 35*7c478bd9Sstevel@tonic-gate space string subscript such then TRUE true type ubnd union until\ 36*7c478bd9Sstevel@tonic-gate varies while width: 37*7c478bd9Sstevel@tonic-gatepascal|pasc|p:\ 38*7c478bd9Sstevel@tonic-gate :pb=(^\d?procedure|function|program\d\p\d|\(|;|\:)|(=\d?record\d):\ 39*7c478bd9Sstevel@tonic-gate :bb=\dcase|begin\d:be=\dend|forward\d|;:\ 40*7c478bd9Sstevel@tonic-gate :cb={:ce=}:\ 41*7c478bd9Sstevel@tonic-gate :ab=\(*:ae=*\):\ 42*7c478bd9Sstevel@tonic-gate :sb=':se=':\ 43*7c478bd9Sstevel@tonic-gate :kw=and array assert begin case const div do downto else end file for\ 44*7c478bd9Sstevel@tonic-gate forward function goto if in label mod nil not of or packed procedure\ 45*7c478bd9Sstevel@tonic-gate program record repeat set then to type until var while with oct hex\ 46*7c478bd9Sstevel@tonic-gate external: 47*7c478bd9Sstevel@tonic-gateC|c:\ 48*7c478bd9Sstevel@tonic-gate :pb=^\d?*?\d?\p\d?\(\a?\)(\d|{):bb={:be=}:cb=/*:ce=*/:sb=":se=\e":lb=':\ 49*7c478bd9Sstevel@tonic-gate :le=\e':tl:\ 50*7c478bd9Sstevel@tonic-gate :kw=asm auto break case char continue default do double else enum\ 51*7c478bd9Sstevel@tonic-gate extern float for fortran goto if int long register return short\ 52*7c478bd9Sstevel@tonic-gate sizeof static struct switch typedef union unsigned void while #define\ 53*7c478bd9Sstevel@tonic-gate #else #endif #if #ifdef #ifndef #include #undef # define endif\ 54*7c478bd9Sstevel@tonic-gate ifdef ifndef include undef defined: 55*7c478bd9Sstevel@tonic-gateISP|isp|i:\ 56*7c478bd9Sstevel@tonic-gate :cb=!:ce=!|$:oc:\ 57*7c478bd9Sstevel@tonic-gate :kw=and begin decode define end eql eqv geq gtr if leave leq lss mod\ 58*7c478bd9Sstevel@tonic-gate neq next not or otherwise repeat restart resume sr0 sr1 srd srr sl0 sl1\ 59*7c478bd9Sstevel@tonic-gate sld slr tst xor: 60*7c478bd9Sstevel@tonic-gateSH|sh:\ 61*7c478bd9Sstevel@tonic-gate :pb=(;|^)\d?\p\(\)(\d|{):\ 62*7c478bd9Sstevel@tonic-gate :ab=\$#:ae=(\d?|\a?):\ 63*7c478bd9Sstevel@tonic-gate :bb={:be=}:cb=#:ce=$:sb=":se=\e":lb=':\ 64*7c478bd9Sstevel@tonic-gate :le=\e':tl:\ 65*7c478bd9Sstevel@tonic-gate :kw=break case cd continue do done \ 66*7c478bd9Sstevel@tonic-gate elif else esac eval exec exit export \ 67*7c478bd9Sstevel@tonic-gate fi for if in then while until \ 68*7c478bd9Sstevel@tonic-gate read readonly set shift test trap umask wait: 69*7c478bd9Sstevel@tonic-gateCSH|csh:\ 70*7c478bd9Sstevel@tonic-gate :cb=#:ce=$:sb=":se=\e":lb=':\ 71*7c478bd9Sstevel@tonic-gate :ab=\$\a?#:ae=(\d?|\a?):\ 72*7c478bd9Sstevel@tonic-gate :le=\e':tl:\ 73*7c478bd9Sstevel@tonic-gate :kw=alias alloc break breaksw case cd chdir continue default\ 74*7c478bd9Sstevel@tonic-gate echo else end endif endsw exec exit foreach \ 75*7c478bd9Sstevel@tonic-gate glob goto history if logout nice nohup onintr repeat set\ 76*7c478bd9Sstevel@tonic-gate setenv shift source switch then time \ 77*7c478bd9Sstevel@tonic-gate while umask unalias unset wait while @ env \ 78*7c478bd9Sstevel@tonic-gate argv child home ignoreeof noclobber noglob \ 79*7c478bd9Sstevel@tonic-gate nomatch path prompt shell status verbose : 80*7c478bd9Sstevel@tonic-gateldl|LDL:\ 81*7c478bd9Sstevel@tonic-gate :pb=^\p\::bb=\::be=;:cb=/*:ce=*/:sb=":se=\e":\ 82*7c478bd9Sstevel@tonic-gate :kw=constant functions grammar reswords tokens add1 addste\ 83*7c478bd9Sstevel@tonic-gate car cdr check colno cond cons copy defun divide empty enter\ 84*7c478bd9Sstevel@tonic-gate eq equal findattr firstchild ge getattr getfield gt hash label\ 85*7c478bd9Sstevel@tonic-gate lambda lastchild le leftsibling lookone lookup lt minus name ne\ 86*7c478bd9Sstevel@tonic-gate newnode nextcom nil null parent plus precnl prevcom prog progn\ 87*7c478bd9Sstevel@tonic-gate quote reglob return rightsibling self set setattr setfield setq\ 88*7c478bd9Sstevel@tonic-gate stjoin sub1 t times tnull tokno ttype: 89*7c478bd9Sstevel@tonic-gateIcon|icon|I:\ 90*7c478bd9Sstevel@tonic-gate :pb=^\d?procedure\d\p\d?\(\a?\):\ 91*7c478bd9Sstevel@tonic-gate :bb=(^\d?procedure\d\p\d?\(\a?\))|{:be=}|(^\d?end\d?$):\ 92*7c478bd9Sstevel@tonic-gate :cb=#:ce=$:\ 93*7c478bd9Sstevel@tonic-gate :sb=":se=\e":lb=':le=\e':tl:\ 94*7c478bd9Sstevel@tonic-gate :kw=break by case create default do dynamic else end every external\ 95*7c478bd9Sstevel@tonic-gate fail global if initial local next not of procedure record\ 96*7c478bd9Sstevel@tonic-gate repeat return static suspend then to until using while\ 97*7c478bd9Sstevel@tonic-gate &ascii &clock &cset &date &dateline &errout &fail &host &input\ 98*7c478bd9Sstevel@tonic-gate &lcase &level &main &null &output &pos &random &source &subject\ 99*7c478bd9Sstevel@tonic-gate &time &trace &ucase &version: 100*7c478bd9Sstevel@tonic-gateratfor|rat|r:\ 101*7c478bd9Sstevel@tonic-gate :pb=(subroutine|function)\d\p\d?\(\a?\):\ 102*7c478bd9Sstevel@tonic-gate :bb=(subroutine|function)\d\p\d?\(\a?\):be=^\d?end:\ 103*7c478bd9Sstevel@tonic-gate :cb=#:ce=$:\ 104*7c478bd9Sstevel@tonic-gate :sb=":se=\e":lb=':le=\e':oc:\ 105*7c478bd9Sstevel@tonic-gate :kw=DRETURN DRIVER arith break case character default define do\ 106*7c478bd9Sstevel@tonic-gate else elsedef enddef filedes for function goto if ifdef ifelse\ 107*7c478bd9Sstevel@tonic-gate ifnotdef include incr integer linepointer next opeq pointer\ 108*7c478bd9Sstevel@tonic-gate real repeat return select string subroutine substr until: 109*7c478bd9Sstevel@tonic-gatemodula2|mod2|m2:\ 110*7c478bd9Sstevel@tonic-gate :pb=(^\d?(procedure|function|module)\d\p\d|\(|;|\:):\ 111*7c478bd9Sstevel@tonic-gate :bb=\d(begin|case|for|if|loop|record|repeat|while|with)\d:\ 112*7c478bd9Sstevel@tonic-gate :be=\dend|;:\ 113*7c478bd9Sstevel@tonic-gate :cb={:ce=}:\ 114*7c478bd9Sstevel@tonic-gate :ab=\(*:ae=*\):\ 115*7c478bd9Sstevel@tonic-gate :sb=":se=":\ 116*7c478bd9Sstevel@tonic-gate :oc:\ 117*7c478bd9Sstevel@tonic-gate :kw=and array begin by case const\ 118*7c478bd9Sstevel@tonic-gate definition div do else elsif end exit export\ 119*7c478bd9Sstevel@tonic-gate for from if implementation import in\ 120*7c478bd9Sstevel@tonic-gate loop mod module not of or pointer procedure qualified\ 121*7c478bd9Sstevel@tonic-gate record repeat return set then to type\ 122*7c478bd9Sstevel@tonic-gate until var while with: 123*7c478bd9Sstevel@tonic-gateyacc|Yacc|y:\ 124*7c478bd9Sstevel@tonic-gate :cb=/*:ce=*/:sb=":se=\e":lb=':le=\e':tl:\ 125*7c478bd9Sstevel@tonic-gate :kw=%{ %} %% %union %token %type\ 126*7c478bd9Sstevel@tonic-gate #else #endif #if #ifdef #ifndef #include #undef # define else endif\ 127*7c478bd9Sstevel@tonic-gate if ifdef ifndef include undef: 128*7c478bd9Sstevel@tonic-gateC++|c++:\ 129*7c478bd9Sstevel@tonic-gate :pb=^\d?*?\d?\p\d?\(\a?\)(\d|{):bb={:be=}:cb=/*:ce=*/:ab=//:\ 130*7c478bd9Sstevel@tonic-gate :ae=$:sb=":se=\e":lb=':\ 131*7c478bd9Sstevel@tonic-gate :le=\e':tl:\ 132*7c478bd9Sstevel@tonic-gate :kw=asm auto break case char continue default do double else enum\ 133*7c478bd9Sstevel@tonic-gate extern float for fortran goto if int long register return short\ 134*7c478bd9Sstevel@tonic-gate sizeof static struct switch typedef union unsigned while void #define\ 135*7c478bd9Sstevel@tonic-gate #else #endif #if #ifdef #ifndef #include #undef # define endif\ 136*7c478bd9Sstevel@tonic-gate ifdef ifndef include undef defined\ 137*7c478bd9Sstevel@tonic-gate class const delete friend inline new operator overload private\ 138*7c478bd9Sstevel@tonic-gate protected public virtual: 139*7c478bd9Sstevel@tonic-gatefortran|FORTRAN|f77|fc|f:\ 140*7c478bd9Sstevel@tonic-gate :pb=(function|subroutine|program)\d\p\d?\(\a?\):\ 141*7c478bd9Sstevel@tonic-gate :bb=(function|subroutine|program)\d\p\d?\(\a?\):be=^\dend:\ 142*7c478bd9Sstevel@tonic-gate :cb=^c:\ 143*7c478bd9Sstevel@tonic-gate :ce=$:\ 144*7c478bd9Sstevel@tonic-gate :sb=':\ 145*7c478bd9Sstevel@tonic-gate :se=':\ 146*7c478bd9Sstevel@tonic-gate :oc:\ 147*7c478bd9Sstevel@tonic-gate :kw=call common complex continue dimension do double else elseif\ 148*7c478bd9Sstevel@tonic-gate end endif equivalence format function\ 149*7c478bd9Sstevel@tonic-gate goto if include integer \ 150*7c478bd9Sstevel@tonic-gate parameter precision real return stop subroutine: 151*7c478bd9Sstevel@tonic-gate# 152*7c478bd9Sstevel@tonic-gate# This entry makes use of new capabilities added to support the description 153*7c478bd9Sstevel@tonic-gate# of lisp-like languages (id, pl, and px). The set of keywords given is a 154*7c478bd9Sstevel@tonic-gate# matter of taste. It would be reasonable to add all the wired functions to 155*7c478bd9Sstevel@tonic-gate# the list. 156*7c478bd9Sstevel@tonic-gateMLisp|ml|Emacs Mock Lisp:\ 157*7c478bd9Sstevel@tonic-gate :cb=;:ce=$:lb=':le=\e':sb=":se=\e":bb=\(:be=\):\ 158*7c478bd9Sstevel@tonic-gate :id=_-$#@./,%&?!^*+~`|;<>'\::\ 159*7c478bd9Sstevel@tonic-gate :kw=defun if progn while:pl:px=\d\(defun:pb=^\d\(\p($|(\d\a$)): 160*7c478bd9Sstevel@tonic-gate# 161*7c478bd9Sstevel@tonic-gate# It's not obvious what constitutes a "procedure definition" in Russell. 162*7c478bd9Sstevel@tonic-gate# This entry doesn't even try... 163*7c478bd9Sstevel@tonic-gaterussell|Russell:\ 164*7c478bd9Sstevel@tonic-gate :cb=\(*:ce=*\):kw=cand cor do od if fi else enum record prod union\ 165*7c478bd9Sstevel@tonic-gate extend export hide with constants let use in ni val var func type\ 166*7c478bd9Sstevel@tonic-gate field characters readonly:sb=":se=":lb=':le=': 167