|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T V
Length: 2469 (0x9a5)
Types: TextFile
Names: »V«
└─⟦180fe333a⟧ Bits:30000405 8mm tape, Rational 1000, SW CATALOG, 10_20_0
└─⟦180fe333a⟧ Bits:30000537 8mm tape, Rational 1000, SW Catalog 10_20_0
└─⟦5cb1d1d7f⟧ »DATA«
└─⟦3b1ee7bd8⟧
└─⟦this⟧
-- $Source: /nosc/work/parser/RCS/Parse.spc,v $
-- $Revision: 4.0 $ -- $Date: 85/02/19 11:48:41 $ -- $Author: carol $
----------------------------------------------------------------------
with Parserdeclarations; -- declarations for the Parser
use Parserdeclarations;
package Parser is
--| Notes
--|
--| WARNING:
--|
--| Some of the code for this package is in the grammar source that is
--| input to the parse table generator. One of the ouputs of the
--| parse table generator is the source for the body of the procedure
--| Apply_Actions used in this package. This procedure provides case
--| statements to select the number of the rule to be used.
--| This procedure is declared as separate subunits in the
--| body of this package. It is strongly recommended that
--| the code of these functions be kept integrated with the grammar
--| for the following reasons.
--|
--| 1) to keep the case select numbers consistent with the reduce
--| action numbers in the parse tables.
--|
--| 2) to associate each grammar rule with the code for its actions.
--|
package Pd renames Parserdeclarations;
------------------------------------------------------------------
procedure Apply_Actions (Rule_Number : in Pt.Lefthandsiderange);
------------------------------------------------------------------
function Parse --| NYU LALR style parser
return Pd.Parsestackelement;
--| Raises
--|
--| ParserDeclarations.MemoryOverflow
--|
--| Effects
--|
--| This parser takes input from a Lexer and parses it according
--| to a set of grammar rules that have been converted into a set of
--| ParseTables by the NYU LALR Parser Generator.
--| Requires
--|
--| The parser expects the Lexer and other units it uses to be
--| initialized.
--|
--| The units that stay the same for different grammars are:
--|
--| Parser.Parse (this subprogram)
--| ParseStack
--|
--| The units that need to be changed for different grammars are:
--|
--| Parser.Apply_Actions
--| Lex
--| ParserDeclarations
--| ParseTables
--|
--| Modifies
--|
--| The following are modified:
--|
--| ParseStack
--|
------------------------------------------------------------------
end Parser;
----------------------------------------------------------------------