DIRECTORY IO USING [STREAM], OneCasabaParser USING [ParserTable]; CParser: CEDAR DEFINITIONS = BEGIN CParseTreeBody: TYPE = RECORD [ production: ProductionNames, children: SEQUENCE size:CARDINAL OF REF ANY]; CParseTree: TYPE = REF CParseTreeBody; ProductionNames: TYPE = { Start, PrintResult, Expressionone, Expressionmore, AssignmentExpressioncond, AssignmentExpressioneq, AssignmentExpressionmuleq, AssignmentExpressiondiveq, AssignmentExpressionmodeq, AssignmentExpressionaddeq, AssignmentExpressionsubeq, AssignmentExpressionshiftleq, AssignmentExpressionshiftreq, AssignmentExpressionandeq, AssignmentExpressionxoreq, AssignmentExpressionoreq, ConditionalExpressionone, ConditionalExpressionmore, LogicalOrExpressionone, LogicalOrExpressionmore, LogicalAndExpressionone, LogicalAndExpressionmore, InclusiveOrExpressionone, InclusiveOrExpressionmore, ExclusiveOrExpressionone, ExclusiveOrExpressionmore, AndExpressionone, AndExpressionmore, EqualityExpressionrel, EqualityExpressioneq, EqualityExpressionneq, RelationalExpressionone, RelationalExpressionlt, RelationalExpressiongt, RelationalExpressionle, RelationalExpressionge, ShiftExpressionadd, ShiftExpressionleft, ShiftExpressionright, AdditiveExpressionmul, AdditiveExpressionadd, AdditiveExpressionsub, MultiplicativeExpressioncast, MultiplicativeExpressionmul, MultiplicativeExpressiondiv, MultiplicativeExpressionmod, CastExpressionunary, CastExpressioncast, UnaryExpressionpost, UnaryExpressioninc, UnaryExpressiondec, UnaryExpressionand, UnaryExpressionptr, UnaryExpressionadd, UnaryExpressionsub, UnaryExpressionbnot, UnaryExpressionlnot, UnaryExpressionsizeexpr, UnaryExpressionsizetype, PostfixExpressionprimary, PostfixExpressionarray, PostfixExpressioncall, PostfixExpressionrecord, PostfixExpressionrecptr, PostfixExpressioninc, PostfixExpressiondec, PrimaryExpressionid, PrimaryExpressionconst, PrimaryExpressionstring, PrimaryExpressionparen, TypeNamevoid, TypeNamechar, TypeNameshort, TypeNameint, TypeNamelong, TypeNamefloat, TypeNamedouble, TypeNamesigned, TypeNameunsigned, ArgumentExpressionListone, ArgumentExpressionListmore, Constantint, Constantchar, Constantfloat, Constantenum, IntegerConstant, CharacterConstant, FloatingConstant, String, Identifier }; MakeCParseTree: PROC[table: OneCasabaParser.ParserTable, source: IO.STREAM, out:IO.STREAM] RETURNS [parseTree:CParseTree]; PrintParseTree: PROC [outStream:IO.STREAM, parseTree:REF ANY, depth:INT _ 0] RETURNS [] ; END.. Έ CParser.mesa Hopcroft, June 8, 1989 3:47:08 pm PDT this declaration text was produced by GenOneCasabaParser Terminal type names must be added after the production type elements Κi™™ J™%—J˜˜ J˜J˜$—J˜šΟbœ˜J˜J˜˜Icode˜K˜-—K˜K˜&K˜K™8šœ˜KšœM˜MKšœN˜NKšœQ˜QKšœW˜WKšœO˜OKšœL˜LKšœM˜MKšœP˜PKšœR˜RKšœH˜HKšœH˜HKšœV˜VKšœL˜LKšœW˜WKšœR˜RKšœP˜PKšœW˜WKšœK˜KKšœ_˜_Kšœ\˜\KšœP˜PKšœO˜OKšœR˜RKšœ˜—˜Kšœ!ΟiΠbiœ™DK˜HKšœ˜—˜KšΟnœΟkœ-‘œ‘œ0˜{K˜Kš œ‘œ9‘œ˜Y—K˜K˜K˜—˜K˜——…— ΐ α