    {------------------------------------------------------------------------}
    {-------------------------------/                                   \----}
    {----                       ----!   Const,  Type  and  Procedure    !----}
    {----    S Y N I . D E F    ----!   definitions for SYNI version    !----}
    {----                       ----!   2.0,  the  syntax  analyzer.    !----}
    {-------------------------------\                                   /----}
    {------------------------------------------------------------------------}

TYPE
    grammar	= ^alfa			{ cheap fake pointer type };

    FUNCTION  synini	(PROCEDURE bnf;
			     maxdepth	: integer;
			     stacksize	: integer) : grammar;	EXTERN;
    PROCEDURE syni	(    bnf	: grammar;
			 VAR blew_it	: boolean);		EXTERN;
    FUNCTION  syndfa	(    bnf	: grammar) : automaton;	EXTERN;
    FUNCTION  synbnf				   : grammar;	EXTERN;

    PROCEDURE xreset	(    bnf	: grammar);		EXTERN;
    PROCEDURE xpush	(    bnf	: grammar;
			 VAR token	: token_type);		EXTERN;
    PROCEDURE xpop	(    bnf	: grammar;
			 VAR token	: token_type);		EXTERN;
    PROCEDURE xtop	(    bnf	: grammar;
			 VAR token	: token_type);		EXTERN;
    PROCEDURE xdup	(    bnf	: grammar);		EXTERN;
    PROCEDURE xswap	(    bnf	: grammar);		EXTERN;

    PROCEDURE xsemant	(    bnf	: grammar;
			     on		: boolean);		EXTERN.
