module Parser_Table_Type

  public

! The parser table type is defined here instead of in Parser_Table_m to avoid 
! a circular dependency between Parser_Tables, Parser_Table_m, and Tree.


  ! The representation of the parser decision function, PD, as produced by LR
  type :: Parser_Table_t
    integer :: Ifinal
    integer :: FMA_Start
    integer :: LSets
    integer :: NCsets
    integer :: NLooks
    integer :: NState
    integer :: NTerms
    integer :: NTrans
    integer :: NumPrd
    integer :: NVoc
    integer :: Total
    integer :: NBasProd
    integer, allocatable :: Ent(:)
    integer, allocatable :: Fred(:)
    integer, allocatable :: Ftrn(:)
    integer, allocatable :: Tran(:)
    integer, allocatable :: Nset(:)
    integer, allocatable :: Prod(:)
    integer, allocatable :: Lset(:)
    integer, allocatable :: Ls(:)
    integer, allocatable :: Lens(:)
    integer, allocatable :: Lhs(:)
    integer, allocatable :: Act(:)
    integer, allocatable :: Val(:)
    integer, allocatable :: Prod_Ind(:)
    integer, allocatable :: Productions(:)
    integer, allocatable :: IndBas(:)
    integer, allocatable :: BasProds(:)
    integer, allocatable :: Dots(:)
    character(:), allocatable :: Text
    integer, allocatable :: Ltext(:)
  end type Parser_Table_t

!---------------------------- RCS Module Info ------------------------------
  character (len=*), private, parameter :: ModuleName= &
       "$RCSfile: Parser_Table_Type.f90,v $"
  private :: not_used_here 
!---------------------------------------------------------------------------

contains

!--------------------------- end bloc --------------------------------------
  logical function not_used_here()
  character (len=*), parameter :: IdParm = &
       "$Id: Parser_Table_Type.f90,v 1.1 2022/01/24 22:17:03 vsnyder Exp $"
  character (len=len(idParm)) :: Id = idParm
    not_used_here = (id(1:1) == ModuleName(1:1))
    print *, Id ! .mod files sometimes change if PRINT is added
  end function not_used_here
!---------------------------------------------------------------------------

end module Parser_Table_Type

! $Log: Parser_Table_Type.f90,v $
! Revision 1.1  2022/01/24 22:17:03  vsnyder
! Initial commit
!
