-- LR0Items.mesa
-- last edit September 11, 1984 8:50:00 am PDT
DIRECTORY
GrammarBasic USING[Grammar, Production, Symbol],
LR0ItemSetsBasic USING[LR0Item];
LR0Items: CEDAR DEFINITIONS =
BEGIN OPEN GrammarBasic, LR0ItemSetsBasic;
CompleteProduction: PROC[LR0Item] RETURNS[Production]; -- NIL unless the LR0Item refers to a complete production, in which case returns the production; used for generating reduction steps.
GetGrammarFromLR0Item: PROC[LR0Item] RETURNS[Grammar];
GetStartLR0Item: PROC[Grammar] RETURNS[LR0Item];
GetNextLR0Item: PROC[LR0Item] RETURNS[LR0Item];
GetFirstSymbol: PROC[LR0Item] RETURNS[Symbol]; -- first symbol after the "dot"
GetProductionAndPosition: PROC[item: LR0Item] RETURNS[production: Production, position: CARDINAL];
GetFirstLR0Item: PROC[Production] RETURNS[LR0Item];
GenV0EpsilonKernelItems: PROC[Grammar, PROC[LR0Item]];
GenKernelGoTo0Items: PROC[LR0Item, PROC[Symbol, LR0Item]];
GenClose0Items: PROC[LR0Item, PROC[LR0Item]];
END..