sig
  type 'a 終端符號
  type 'a 非終端符號
  type 'a 符號 =
      T : 'a 終端符號 -> 'a 符號
    | N : 'a 非終端符號 -> 'a 符號
  type xsymbol = X : 'a 符號 -> xsymbol
  type 'a lr1state
  type 生產式
  type 項目 =
      CamlinternalMenhirLib.IncrementalEngine.INSPECTION.生產式 * int
  val 比較_終端符號 : 'a 終端符號 -> 'b 終端符號 -> int
  val 比較_非終端符號 : 'a 非終端符號 -> 'b 非終端符號 -> int
  val 比較_符號 : xsymbol -> xsymbol -> int
  val 比較_生產式 
    CamlinternalMenhirLib.IncrementalEngine.INSPECTION.生產式 ->
    CamlinternalMenhirLib.IncrementalEngine.INSPECTION.生產式 -> int
  val 比較_項目 
    CamlinternalMenhirLib.IncrementalEngine.INSPECTION.項目 ->
    CamlinternalMenhirLib.IncrementalEngine.INSPECTION.項目 -> int
  val 進入_符號 
    'CamlinternalMenhirLib.IncrementalEngine.INSPECTION.lr1state ->
    'a 符號
  val 項目 
    'CamlinternalMenhirLib.IncrementalEngine.INSPECTION.lr1state ->
    CamlinternalMenhirLib.IncrementalEngine.INSPECTION.項目 list
  val lhs 
    CamlinternalMenhirLib.IncrementalEngine.INSPECTION.生產式 -> xsymbol
  val rhs 
    CamlinternalMenhirLib.IncrementalEngine.INSPECTION.生產式 ->
    xsymbol list
  val 可為空 : 'a 非終端符號 -> bool
  val 首符號 : 'a 非終端符號 -> 'b 終端符號 -> bool
  val x首符號 : xsymbol -> 'a 終端符號 -> bool
  val 針對每個終端符號執行 : (xsymbol -> '-> 'a) -> '-> 'a
  val 針對每個終端符號執行_但錯誤除外 : (xsymbol -> '-> 'a) -> '-> 'a
  type 'a 環境
  val 餵入 
    'a 符號 ->
    CamlinternalMenhirLib.IncrementalEngine.位置 ->
    '->
    CamlinternalMenhirLib.IncrementalEngine.位置 ->
    'CamlinternalMenhirLib.IncrementalEngine.INSPECTION.環境 ->
    'CamlinternalMenhirLib.IncrementalEngine.INSPECTION.環境
end