| Extracted from Pike v7.8 release 700 at 2013-06-08.

[Top]
Parser
Parser.LR
Parser.LR.Parser
Parser.LR.Parser()->Kernel

# Class Parser.LR.Parser()->Kernel

Description

  Implements an LR(1) state

Variable rules

  `multiset(Rule) Parser.LR.Parser.Kernel.rules`

Description

  Used to check if a rule already has been added when doing closures.

Variable items

  `array(Item) Parser.LR.Parser.Kernel.items`

Description

  Contains the items in this state.

Variable item_id_to_item

  `mapping(int:Item) Parser.LR.Parser.Kernel.item_id_to_item`

Description

  Used to lookup items given rule and offset

Variable symbol_items

  `mapping(int:multiset(Item)) Parser.LR.Parser.Kernel.symbol_items`

Description

  Contains the items whose next symbol is this non-terminal.

Variable action

  `mapping(int|string:Kernel|Rule) Parser.LR.Parser.Kernel.action`

Description

  The action table for this state

       object(kernel)    SHIFT to this state on this symbol.
       object(rule)      REDUCE according to this rule on this symbol.

Variable closure_set

  `multiset Parser.LR.Parser.Kernel.closure_set`

Description

  The symbols that closure has been called on.