-- 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..