Begin { "ABS" "ALL" "AND" "ANY" "APPLY" "ARRAY" "BASE" "BEGIN" "BROADCAST" "CEDAR" "CHECKED" "CODE" "COMPUTED" "CONS" "CONTINUE" "DECREASING" "DEFINITIONS" "DEPENDENT" "DESCRIPTOR" "DIRECTORY" "DO" "ELSE" "ENABLE" "END" "ENDCASE" "ENDLOOP" "ENTRY" "ERROR" "EXIT" "EXITS" "EXPORTS" "FINISHED" "FIRST" "FOR" "FORK" "FRAME" "FREE" "FROM" "GO" "GOTO" "IF" "IMPORTS" "IN" "INLINE" "INTERNAL" "ISTYPE" "JOIN" "LAST" "LENGTH" "LIST" "LOCKS" "LONG" "LOOP" "LOOPHOLE" "MACHINE" "MAX" "MIN" "MOD" "MONITOR" "MONITORED" "NARROW" "NEW" "NIL" "NOT" "NOTIFY" "NULL" "OF" "OPEN" "OR" "ORD" "ORDERED" "OVERLAID" "PACKED" "PAINTED" "POINTER" "PORT" "PRED" "PRIVATE" "PROC" "PROCEDURE" "PROCESS" "PROGRAM" "PUBLIC" "READONLY" "RECORD" "REF" "REJECT" "RELATIVE" "REPEAT" "RESTART" "RESUME" "RETRY" "RETURN" "RETURNS" "SAFE" "SELECT" "SEQUENCE" "SHARES" "SIGNAL" "SIZE" "START" "STATE" "STOP" "SUCC" "THEN" "THROUGH" "TO" "TRANSFER" "TRASH" "TRUSTED" "TYPE" "UNCHECKED" "UNCOUNTED" "UNSAFE" "UNTIL" "USING" "VAL" "VAR" "WAIT" "WHILE" "WITH" "ZONE" "!" "#" "(" ")" "*" "+" "," "-" "." ".." "/" ":" ";" "<" "<=" "=" "=>" ">" ">=" "@" "[" "]" "^" "_" "{" "|" "}" "~" }: SimpleTokens; maingoal: NonTerminal; top: NonTerminal; goal: NonTerminal; module: NonTerminal; directory: NonTerminal; includelist: NonTerminal; includeitem: NonTerminal; using: NonTerminal; defbody: NonTerminal; defhead: NonTerminal; definitions: NonTerminal; cedar: NonTerminal; proghead: NonTerminal; resident: NonTerminal; class: NonTerminal; interface: NonTerminal; exports: NonTerminal; binditem: NonTerminal; caselabel: NonTerminal; caselabelP: NonTerminal; casetest: NonTerminal; block: NonTerminal; exits: NonTerminal; public: NonTerminal; bounds: NonTerminal; checked: NonTerminal; default: NonTerminal; positionP: NonTerminal; optbits: NonTerminal; sum: NonTerminal; product: NonTerminal; multop: NonTerminal; factor: NonTerminal; addop: NonTerminal; readonly: NonTerminal; catchany: NonTerminal; interval: NonTerminal; exp: NonTerminal; caseexplist: NonTerminal; caseexplistP: NonTerminal; caseexpitem: NonTerminal; transferop: NonTerminal; disjunct: NonTerminal; conjunct: NonTerminal; negation: NonTerminal; relation: NonTerminal; catchlist: NonTerminal; catchhead: NonTerminal; ident: NonTerminal; typeop: NonTerminal; idlist: NonTerminal; idlistP: NonTerminal; arguments: NonTerminal; arglist: NonTerminal; returnlist: NonTerminal; fieldlist: NonTerminal; typeexp: NonTerminal; num: NonTerminal; lhs: NonTerminal; qualifier: NonTerminal; exitlist: NonTerminal; exitlistP: NonTerminal; exititem: NonTerminal; optexp: NonTerminal; catchcase: NonTerminal; lhslist: NonTerminal; initialization: NonTerminal; initvalue: NonTerminal; procaccess: NonTerminal; inline: NonTerminal; codelist: NonTerminal; range: NonTerminal; trash: NonTerminal; defaultopt: NonTerminal; orderlist: NonTerminal; trusted: NonTerminal; optrelation: NonTerminal; relationtail: NonTerminal; relop: NonTerminal; shares: NonTerminal; statement: NonTerminal; balstmt: NonTerminal; basicstmt: NonTerminal; forclause: NonTerminal; controlid: NonTerminal; direction: NonTerminal; doexit: NonTerminal; transfer: NonTerminal; dotest: NonTerminal; optargs: NonTerminal; free: NonTerminal; casestmtlist: NonTerminal; casestmtlistP: NonTerminal; casestmtitem: NonTerminal; declist: NonTerminal; declaration: NonTerminal; entry: NonTerminal; optsize: NonTerminal; primary: NonTerminal; new: NonTerminal; cons: NonTerminal; listcons: NonTerminal; desclist: NonTerminal; optcatch: NonTerminal; identlist: NonTerminal; identlistP: NonTerminal; prefixop: NonTerminal; typecons: NonTerminal; dependent: NonTerminal; monitored: NonTerminal; ordered: NonTerminal; base: NonTerminal; pointertype: NonTerminal; pointerprefix: NonTerminal; indextype: NonTerminal; transfermode: NonTerminal; elementlist: NonTerminal; elementlistP: NonTerminal; element: NonTerminal; heap: NonTerminal; typeappl: NonTerminal; lengthP: NonTerminal; reclist: NonTerminal; variantpair: NonTerminal; variantpart: NonTerminal; vcasehead: NonTerminal; tagtype: NonTerminal; variantlist: NonTerminal; variantitem: NonTerminal; packed: NonTerminal; imports: NonTerminal; opttype: NonTerminal; typelist: NonTerminal; modulelist: NonTerminal; moduleitem: NonTerminal; tilde: NonTerminal; pairlist: NonTerminal; pairitem: NonTerminal; typeid: NonTerminal; typeidP: NonTerminal; explist: NonTerminal; keylist: NonTerminal; keyitem: NonTerminal; locks: NonTerminal; lambda: NonTerminal; open: NonTerminal; bindlist: NonTerminal; casehead: NonTerminal; scope: NonTerminal; enables: NonTerminal; statementlist: NonTerminal; statementlistP: NonTerminal; safe: NonTerminal; decimalnum: GenericToken = "tokenDECIMAL" ; octalnum: GenericToken = "tokenOCTAL" ; hexnum: GenericToken = "tokenHEX" ; id: GenericToken = "tokenID" ; string: GenericToken = "tokenROPE" ; flnum: GenericToken = "tokenREAL" ; char: GenericToken = "tokenCHAR" ; atom: GenericToken = "tokenATOM" ; maingoal _ top ; top.a _ goal ; top.p _ scope ; goal.a _ module "." ; goal.b _ module ".." ; module.a _ directory identlist cedar proghead trusted checked block ; module.b _ directory identlist cedar defhead defbody ; directory.a _ "DIRECTORY" ";" ; directory.b _ "DIRECTORY" includelist ";" ; directory.c _ ; includelist.a _ includeitem ; includelist.b _ includelist "," includeitem ; includeitem.a _ id ":" "FROM" string using ; includeitem.b _ id ":" "TYPE" using ; includeitem.c _ id using ; includeitem.d _ id ":" "TYPE" id using ; using.a _ "USING" "[" "]" ; using.b _ "USING" "[" idlist "]" ; using.c _ ; defbody.a _ "BEGIN" open declist "END" ; defbody.b _ "BEGIN" open declist ";" "END" ; defbody.c _ "{" open declist "}" ; defbody.d _ "{" open declist ";" "}" ; defhead _ definitions locks imports shares tilde public ; definitions _ "DEFINITIONS" ; cedar.a _ "CEDAR" ; cedar.b _ ; proghead _ resident safe class arguments locks interface tilde public ; resident _ ; class.a _ "PROGRAM" ; class.b _ "MONITOR" ; interface _ imports exports shares ; exports.a _ "EXPORTS" ; exports.b _ "EXPORTS" modulelist ; exports.c _ ; binditem.a _ exp ; binditem.b _ id ":" exp ; binditem.c _ id "~" "~" exp ; caselabel.a _ ident typeexp ; caselabel.b _ caselabelP ; caselabelP.a _ casetest ; caselabelP.b _ caselabelP "," casetest ; casetest.a _ optrelation ; casetest.b _ exp ; block.a _ "BEGIN" scope exits "END" ; block.b _ "{" scope exits "}" ; exits.a _ "EXITS" exitlist ; exits.b _ ; public.a _ "PUBLIC" ; public.b _ "PRIVATE" ; public.c _ ; bounds _ exp ".." exp ; checked.a _ ; checked.b _ "CHECKED" ; checked.c _ "TRUSTED" ; checked.d _ "UNCHECKED" ; default.a _ "_" defaultopt ; default.b _ ; positionP _ "(" exp optbits ")" ; optbits.a _ ":" bounds ; optbits.b _ ; sum.a _ sum addop product ; sum.b _ product ; product.a _ product multop factor ; product.b _ factor ; multop.a _ "*" ; multop.b _ "/" ; multop.c _ "MOD" ; factor.a _ addop primary ; factor.b _ primary ; addop.a _ "+" ; addop.b _ "-" ; readonly.a _ "READONLY" ; readonly.b _ ; catchany _ "ANY" "=>" statement ; interval.a _ "[" bounds "]" ; interval.b _ "(" bounds "]" ; interval.c _ "[" bounds ")" ; interval.d _ "(" bounds ")" ; exp.a _ "IF" exp "THEN" exp "ELSE" exp ; exp.b _ casehead caseexplist "ENDCASE" "=>" exp ; exp.c _ lhs "_" exp ; exp.d _ "[" explist "]" "_" exp ; exp.e _ "ERROR" ; exp.f _ transferop lhs ; exp.g _ disjunct ; caseexplist.a _ ; caseexplist.b _ caseexplistP ; caseexplist.c _ caseexplistP "," ; caseexplistP.a _ caseexpitem ; caseexplistP.b _ caseexplistP "," caseexpitem ; caseexpitem _ caselabel "=>" exp ; transferop.a _ "SIGNAL" ; transferop.b _ "ERROR" ; transferop.c _ "START" ; transferop.d _ "JOIN" ; transferop.e _ "NEW" ; transferop.f _ "FORK" ; disjunct.a _ disjunct "OR" conjunct ; disjunct.b _ conjunct ; conjunct.a _ conjunct "AND" negation ; conjunct.b _ negation ; negation.a _ "~" relation ; negation.b _ "NOT" relation ; negation.c _ relation ; relation.a _ sum optrelation ; relation.b _ sum ; catchlist.a _ catchhead catchcase ; catchlist.b _ catchhead ; catchlist.c _ catchhead catchany ; catchlist.d _ catchhead catchany ";" ; catchhead.a _ ; catchhead.b _ catchhead catchcase ";" ; ident.a _ id positionP ":" ; ident.b _ id ":" ; typeop.a _ "CODE" ; typeop.b _ "FIRST" ; typeop.c _ "LAST" ; typeop.d _ "NIL" ; idlist _ idlistP ; idlistP.a _ id ; idlistP.b _ id "," idlistP ; arguments _ arglist returnlist ; arglist.a _ "ANY" ; arglist.b _ fieldlist ; arglist.c _ ; returnlist.a _ "RETURNS" "ANY" ; returnlist.b _ "RETURNS" fieldlist ; returnlist.c _ ; fieldlist.a _ "[" "]" ; fieldlist.b _ "[" pairlist "]" ; fieldlist.c _ "[" typelist "]" ; typeexp.a _ id ; typeexp.b _ typeid ; typeexp.c _ typecons ; num.a _ decimalnum ; num.b _ octalnum ; num.c _ hexnum ; lhs.a _ id ; lhs.b _ num ; lhs.c _ string ; lhs.e _ flnum ; lhs.f _ char ; lhs.h _ atom ; lhs.i _ "NARROW" "[" exp opttype optcatch "]" ; lhs.j _ "LOOPHOLE" "[" exp opttype "]" ; lhs.k _ "APPLY" "[" exp "," exp optcatch "]" ; lhs.l _ "(" exp ")" ; lhs.m _ lhs qualifier ; qualifier.a _ "." prefixop ; qualifier.b _ "." typeop ; qualifier.c _ "." "SIZE" ; qualifier.d _ "[" explist optcatch "]" ; qualifier.e _ "." id ; qualifier.f _ "^" ; exitlist.a _ ; exitlist.b _ exitlistP ; exitlist.c _ exitlistP ";" ; exitlistP.a _ exititem ; exitlistP.b _ exitlistP ";" exititem ; exititem _ idlist "=>" statement ; optexp.a _ trash ; optexp.b _ exp ; optexp.c _ ; catchcase _ lhslist "=>" statement ; lhslist.a _ lhs ; lhslist.b _ lhslist "," lhs ; initialization.a _ ; initialization.b _ "_" initvalue ; initialization.c _ tilde initvalue ; initvalue.a _ procaccess trusted checked inline block ; initvalue.b _ "CODE" ; initvalue.c _ procaccess trusted checked "MACHINE" "CODE" "BEGIN" codelist "END" ; initvalue.d _ procaccess trusted checked "MACHINE" "CODE" "{" codelist "}" ; initvalue.e _ trash ; initvalue.f _ exp ; procaccess _ ; inline.a _ "INLINE" ; inline.b _ ; codelist.a _ orderlist ; codelist.b _ codelist ";" orderlist ; range.a _ id ; range.b _ id interval ; range.c _ typeid interval ; range.d _ interval ; range.e _ typeid ; trash.a _ "TRASH" ; trash.b _ "NULL" ; defaultopt.a _ trash ; defaultopt.b _ exp "|" trash ; defaultopt.c _ ; defaultopt.d _ exp ; orderlist.a _ optexp ; orderlist.b _ orderlist "," optexp ; trusted _ ; optrelation.a _ "NOT" relationtail ; optrelation.b _ relationtail ; relationtail.a _ "IN" range ; relationtail.b _ relop sum ; relop.a _ "=" ; relop.b _ "#" ; relop.c _ "<" ; relop.d _ "<=" ; relop.e _ ">" ; relop.f _ ">=" ; shares.a _ "SHARES" idlist ; shares.b _ ; statement.a _ "IF" exp "THEN" statement ; statement.b _ "IF" exp "THEN" balstmt "ELSE" statement ; statement.c _ casehead casestmtlist "ENDCASE" "=>" statement ; statement.d _ basicstmt ; balstmt.a _ "IF" exp "THEN" balstmt "ELSE" balstmt ; balstmt.b _ casehead casestmtlist "ENDCASE" "=>" balstmt ; balstmt.c _ basicstmt ; basicstmt.a _ lhs ; basicstmt.b _ lhs "_" exp ; basicstmt.c _ "[" explist "]" "_" exp ; basicstmt.d _ trusted checked block ; basicstmt.e _ casehead casestmtlist "ENDCASE" ; basicstmt.f _ forclause dotest "DO" scope doexit "ENDLOOP" ; basicstmt.g _ "EXIT" ; basicstmt.h _ "LOOP" ; basicstmt.i _ "GOTO" id ; basicstmt.j _ "GO" "TO" id ; basicstmt.k _ "RETURN" optargs ; basicstmt.l _ transfer lhs ; basicstmt.m _ free "[" exp optcatch "]" ; basicstmt.n _ "WAIT" lhs ; basicstmt.o _ "ERROR" ; basicstmt.p _ "STOP" ; basicstmt.q _ "NULL" ; basicstmt.r _ "RESUME" optargs ; basicstmt.s _ "REJECT" ; basicstmt.t _ "CONTINUE" ; basicstmt.u _ "RETRY" ; basicstmt.v _ lhs "_" "STATE" ; basicstmt.w _ "STATE" "_" exp ; forclause.a _ "FOR" controlid "_" exp "," exp ; forclause.b _ "FOR" controlid direction "IN" range ; forclause.c _ "THROUGH" range ; forclause.d _ ; controlid.a _ ident typeexp ; controlid.b _ id ; direction.a _ "DECREASING" ; direction.b _ ; doexit.a _ ; doexit.b _ "REPEAT" exitlist ; doexit.c _ "REPEAT" exitlist "FINISHED" "=>" statement ; doexit.d _ "REPEAT" exitlist "FINISHED" "=>" statement ";" ; transfer.a _ "SIGNAL" ; transfer.b _ "ERROR" ; transfer.c _ "RETURN" "WITH" "ERROR" ; transfer.d _ "START" ; transfer.e _ "RESTART" ; transfer.f _ "JOIN" ; transfer.g _ "NOTIFY" ; transfer.h _ "BROADCAST" ; transfer.i _ "TRANSFER" "WITH" ; transfer.j _ "RETURN" "WITH" ; dotest.a _ "UNTIL" exp ; dotest.b _ "WHILE" exp ; dotest.c _ ; optargs.a _ "[" explist "]" ; optargs.b _ ; optargs.c _ lhs ; free.a _ "FREE" ; free.b _ lhs "." "FREE" ; casestmtlist.a _ ; casestmtlist.b _ casestmtlistP ; casestmtlist.c _ casestmtlistP ";" ; casestmtlistP.a _ casestmtitem ; casestmtlistP.b _ casestmtlistP ";" casestmtitem ; casestmtitem _ caselabel "=>" statement ; declist.a _ declaration ; declist.b _ declist ";" declaration ; declaration.a _ identlist public entry readonly typeexp initialization ; declaration.b _ identlist public "TYPE" tilde public typeexp default ; declaration.c _ identlist public "TYPE" optsize ; entry.a _ "ENTRY" ; entry.b _ "INTERNAL" ; entry.c _ ; optsize.a _ "[" exp "]" ; optsize.b _ ; primary.a _ "[" explist "]" ; primary.b _ prefixop "[" orderlist "]" ; primary.c _ "VAL" "[" orderlist "]" ; primary.d _ "ALL" "[" orderlist "]" ; primary.e _ new "[" typeexp initialization optcatch "]" ; primary.f _ cons "[" explist optcatch "]" ; primary.g _ listcons "[" explist "]" ; primary.h _ "NIL" ; primary.i _ typeop "[" typeexp "]" ; primary.j _ "SIZE" "[" typeexp "]" ; primary.k _ "SIZE" "[" typeexp "," exp "]" ; primary.l _ "ISTYPE" "[" exp "," typeexp "]" ; primary.m _ "@" lhs ; primary.n _ "DESCRIPTOR" "[" desclist "]" ; primary.o _ lhs ; new.a _ "NEW" ; new.b _ lhs "." "NEW" ; cons.a _ "CONS" ; cons.b _ lhs "." "CONS" ; listcons.a _ "LIST" ; listcons.b _ lhs "." "LIST" ; desclist.a _ exp "," exp opttype ; desclist.b _ exp ; optcatch.a _ "!" catchlist ; optcatch.b _ ; identlist _ identlistP ; identlistP.a _ id ":" ; identlistP.b _ id positionP ":" ; identlistP.c _ id "," identlistP ; identlistP.d _ id positionP "," identlistP ; prefixop.a _ "LONG" ; prefixop.b _ "ABS" ; prefixop.c _ "PRED" ; prefixop.d _ "SUCC" ; prefixop.e _ "ORD" ; prefixop.f _ "MIN" ; prefixop.g _ "MAX" ; prefixop.h _ "BASE" ; prefixop.i _ "LENGTH" ; typecons.a _ interval ; typecons.b _ id interval ; typecons.c _ typeid interval ; typecons.d _ dependent "{" elementlist "}" ; typecons.e _ dependent monitored "RECORD" reclist ; typecons.f _ ordered base pointertype ; typecons.g _ "VAR" typeexp ; typecons.h _ "REF" readonly typeexp ; typecons.i _ "REF" readonly "ANY" ; typecons.j _ "REF" ; typecons.k _ "LIST" "OF" readonly typeexp ; typecons.l _ packed "ARRAY" indextype "OF" typeexp ; typecons.m _ "DESCRIPTOR" "FOR" readonly typeexp ; typecons.n _ safe transfermode arguments ; typecons.o _ id "RELATIVE" typeexp ; typecons.p _ typeid "RELATIVE" typeexp ; typecons.q _ heap "ZONE" ; typecons.r _ "LONG" typeexp ; typecons.s _ "FRAME" "[" id "]" ; typecons.t _ id "PAINTED" typeexp ; typecons.u _ typeid "PAINTED" typeexp ; typecons.v _ typeappl ; dependent.a _ "MACHINE" "DEPENDENT" ; dependent.b _ ; monitored.a _ "MONITORED" ; monitored.b _ ; ordered.a _ "ORDERED" ; ordered.b _ ; base.a _ "BASE" ; base.b _ ; pointertype.a _ pointerprefix ; pointertype.b _ pointerprefix "TO" readonly typeexp ; pointerprefix.a _ "POINTER" ; pointerprefix.b _ "POINTER" interval ; indextype.a _ typeexp ; indextype.b _ ; transfermode.a _ "PROCEDURE" ; transfermode.b _ "PROC" ; transfermode.c _ "PORT" ; transfermode.d _ "SIGNAL" ; transfermode.e _ "ERROR" ; transfermode.f _ "PROCESS" ; transfermode.g _ "PROGRAM" ; elementlist.a _ ; elementlist.b _ elementlistP ; elementlistP.a _ element ; elementlistP.b _ elementlistP "," element ; element.a _ id "(" exp ")" ; element.b _ "(" exp ")" ; element.c _ id ; heap.a _ "UNCOUNTED" ; heap.b _ ; typeappl.a _ typeappl "." id ; typeappl.b _ id lengthP ; typeappl.c _ typeid lengthP ; typeappl.d _ typeappl lengthP ; lengthP _ "[" exp "]" ; reclist.a _ "[" "]" ; reclist.b _ "NULL" ; reclist.c _ "[" pairlist "]" ; reclist.d _ "[" typelist "]" ; reclist.e _ "[" pairlist "," variantpair "]" ; reclist.f _ "[" variantpart default "]" ; reclist.g _ "[" variantpair "]" ; variantpair _ identlist public variantpart default ; variantpart.a _ "SELECT" vcasehead "FROM" variantlist "ENDCASE" ; variantpart.b _ "SELECT" vcasehead "FROM" variantlist "," "ENDCASE" ; variantpart.c _ packed "SEQUENCE" vcasehead "OF" typeexp ; vcasehead.a _ ident public tagtype ; vcasehead.b _ "COMPUTED" tagtype ; vcasehead.c _ "OVERLAID" tagtype ; tagtype.a _ "*" ; tagtype.b _ typeexp ; variantlist.a _ variantitem ; variantlist.b _ variantlist "," variantitem ; variantitem _ idlist "=>" reclist ; packed.a _ "PACKED" ; packed.b _ ; imports.a _ "IMPORTS" ; imports.b _ "IMPORTS" modulelist ; imports.c _ ; opttype.a _ "," typeexp ; opttype.b _ ; typelist.a _ typecons default ; typelist.b _ typeid default ; typelist.c _ id ; typelist.d _ id "_" defaultopt ; typelist.e _ typecons default "," typelist ; typelist.f _ typeid default "," typelist ; typelist.g _ id "," typelist ; typelist.h _ id "_" defaultopt "," typelist ; modulelist.a _ moduleitem ; modulelist.b _ modulelist "," moduleitem ; moduleitem.a _ id ; moduleitem.b _ id ":" id ; tilde.a _ "~" ; tilde.b _ "=" ; pairlist.a _ pairitem ; pairlist.b _ pairlist "," pairitem ; pairitem _ identlist public typeexp default ; typeid.a _ id id ; typeid.b _ id typeid ; typeid.c _ typeidP ; typeidP.a _ id "." id ; typeidP.b _ typeidP "." id ; explist.a _ orderlist ; explist.b _ keylist ; keylist.a _ keyitem ; keylist.b _ keylist "," keyitem ; keyitem.a _ id "~" optexp ; keyitem.b _ id ":" optexp ; locks.a _ "LOCKS" primary lambda ; locks.b _ ; lambda.a _ "USING" ident typeexp ; lambda.b _ ; open.a _ "OPEN" bindlist ";" ; open.b _ ; bindlist.a _ binditem ; bindlist.b _ bindlist "," binditem ; casehead.a _ "SELECT" exp "FROM" ; casehead.b _ "WITH" binditem "SELECT" optexp "FROM" ; scope.a _ open enables statementlist ; scope.b _ open enables declist ";" statementlist ; enables.a _ "ENABLE" catchcase ";" ; enables.b _ "ENABLE" catchany ";" ; enables.c _ "ENABLE" "BEGIN" catchlist "END" ";" ; enables.d _ "ENABLE" "{" catchlist "}" ";" ; enables.e _ ; statementlist.a _ ; statementlist.b _ statementlistP ; statementlist.c _ statementlistP ";" ; statementlistP.a _ statement ; statementlistP.b _ statementlistP ";" statement ; safe.a _ ; safe.b _ "UNSAFE" ; safe.c _ "SAFE" ; End. ˆBadGrammar.OneCasaba Copyright Σ 1987 by Xerox Corporation. All rights reserved. Bill Jackson (bj) April 9, 1987 8:28:13 pm PDT Κ – "cedar" style˜codešœ™K™K˜K˜K˜K˜K˜!K˜K˜+K˜K˜K˜K˜K˜!K˜K˜K˜K˜!K˜!K˜K˜2K˜6K˜ K˜K˜K˜K˜K˜K˜K˜K˜K˜ K˜K˜;K˜@K˜K˜K˜K˜)K˜K˜K˜K˜K˜K˜"K˜ K˜K˜K˜K˜ K˜K˜K˜ K˜K˜K˜K˜K˜K˜K˜ K˜%K˜K˜ K˜3K˜K˜*K˜K˜K˜&K˜K˜HK˜GK˜2K˜K˜K˜K˜ K˜K˜K˜ K˜K˜K˜*K˜(K˜(K˜;K˜-K˜(K˜K˜&K˜'K˜0K˜2K˜K˜.K˜K˜K˜K˜K˜K˜K˜K˜K˜K˜K˜K˜#K˜K˜K˜K˜K˜K˜K˜K˜K˜"K˜#K˜-K˜K˜K˜K˜K˜K˜K˜K˜K˜K˜K˜K˜K˜K˜K˜.K˜4K˜'K˜K˜&K˜%K˜K˜-K˜6K˜4K˜*K˜%K˜)K˜K˜K˜$K˜$K˜(K˜K˜K˜'K˜K˜K˜K˜K˜K˜K˜ K˜K˜K˜ K˜K˜K˜6K˜K˜K˜'K˜K˜K˜K˜K˜K˜K˜K˜K˜K˜K˜K˜K˜K˜K˜K˜K˜,K˜K˜K˜K˜K˜K˜K˜ K˜K˜K˜K˜K˜K˜K˜K˜K˜K˜K˜ K˜ K˜1K˜+K˜#K˜K˜4K˜K˜DK˜IK˜