| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- IMPLEMENTATION MODULE InternalTree;
- FROM Storage IMPORT ALLOCATE;
- FROM Scanner IMPORT POSITION;
- VAR nodecl : declPtr;
- nostat : stmtPtr;
- noexpr : exprPtr;
- PROCEDURE NewDeclSequence(p : POSITION): declPtr;
- VAR t : declPtr;
- BEGIN
- NEW(t); t^.kind := declsequence;
- t^.first := NIL;
- t^.rest := NIL;
- t^.position := p;
- RETURN t
- END NewDeclSequence;
- PROCEDURE NewStmtSequence(p: POSITION): stmtPtr;
- VAR t : stmtPtr;
- BEGIN
- NEW(t); t^.kind := stmtsequence;
- t^.first := NIL;
- t^.rest := NIL;
- t^.position := p;
- RETURN t
- END NewStmtSequence;
- PROCEDURE NewExprSequence(p: POSITION): exprPtr;
- VAR t: exprPtr;
- BEGIN
- NEW(t); t^.kind := exprsequence;
- t^.first := NIL;
- t^.rest := NIL;
- t^.position := p;
- RETURN t
- END NewExprSequence;
- PROCEDURE NoDeclaration(): declPtr;
- BEGIN
- RETURN nodecl
- END NoDeclaration;
- PROCEDURE NoStatement(): stmtPtr;
- BEGIN
- RETURN nostat
- END NoStatement;
- PROCEDURE NoExpression(): exprPtr;
- BEGIN
- RETURN noexpr
- END NoExpression;
- BEGIN
- NEW(nodecl); nodecl^.kind := nodeclaration;
- NEW(nostat); nostat^.kind := nostatement;
- NEW(noexpr); noexpr^.kind := noexpression;
- END InternalTree.
|