-- file InterScript-grammar.mesa rewritten by PGS, 22-Jul-82 14:33
-- Last Edited by: Mitchell, February 1, 1983 11:09 am
0 => -- TYPE: ParseTable
-- TABLE: InterscriptData EXPORTS: SELF
-- GOAL: goal
--TERMINALS:
-- id integer real string boolean universal intSequence versionId
-- := ← = '| % ' . $
-- + - * /
-- @ ! @!
-- ) ] }
-- ( [ {
--
--ALIASES:
-- id tokenId
-- real tokenReal
-- integer tokenInteger
-- string tokenString
-- boolean tokenBoolean
-- universal tokenUniversal
-- intSequence tokenIntSeq
-- versionId tokenVerId
-- '| tokenBar
-- @! tokenDefine
-- / tokenDivide
-- $ tokenDollar
-- . tokenDot
-- - tokenMinus
-- * tokenMultiply
-- ' tokenQuote
-- + tokenPlus
-- . InitialSymbol
--PRODUCTIONS:
-- goal ::= . unit .
xx
1 => -- unit ::= versionId node
-- item ::= content
-- item ::= binding
-- item ::= label
-- itemlist ::=
-- itemlist ::= itemlist'
-- itemlist' ::= item
-- itemlist' ::= item itemlist'
-- content ::= term
-- content ::= node
-- term ::= primary
-- term ::= primary op term
-- op ::= +
-- op ::= -
-- op ::= *
-- op ::= /
-- primary ::= literal
-- primary ::= invocation
-- primary ::= indirection
-- primary ::= application
-- primary ::= selection
-- primary ::= vector
-- literal ::= boolean
-- literal ::= integer
-- literal ::= intSequence
-- literal ::= real
-- literal ::= string
-- literal ::= universal
-- name ::= id
-- name ::= id . name
-- invocation ::= name
-- indirection ::= name %
-- application ::= name [ itemlist ]
-- application ::= universal [ itemlist ]
-- selection ::= ( term '| itemlist '| itemlist )
-- vector ::= ( itemlist )
-- node ::= { itemlist }
-- binding ::= name mode rhs
-- bindinglist ::=
-- bindinglist ::= bindinglist'
-- bindinglist' ::= binding
-- bindinglist' ::= binding bindinglist'
-- mode ::= ←
-- mode ::= =
-- mode ::= :=
-- rhs ::= content
-- rhs ::= op term
-- rhs ::= ' itemlist '
-- rhs ::= [ itemlist '| bindinglist ]
-- label ::= tag
-- label ::= link
-- tag ::= universal $
-- link ::= id @!
-- link ::= name @
-- link ::= name !