/* ------------------------------------------------------------------------ */
/*                                                                          */
/* [cmd_int.h]                Language Interface                            */
/*                                                                          */
/* ------------------------------------------------------------------------ */

/* File generated by 'ctoh'. Don't change manually. */

#ifndef cmd_int_INCL
#define cmd_int_INCL


#include "ptm.h"
#include "gls.h"


#ifdef __cplusplus
extern "C" {
#endif


/* --------------------- symbol objects - init & quit --------------------- */

void cmd_initSymbols();                /*                                   */
void cmd_quitSymbols();                /*                                   */

/* -------------------------- Types & Constants --------------------------- */

AbstractType( cmd );

AbstractType( cmdSource );
AbstractType( cmdDfn );
AbstractType( cmdOptVal );
AbstractType( cmdOptDoc );
AbstractType( cmdVal );
AbstractType( cmdPath );
AbstractType( cmdOptDrv );
AbstractType( cmdPid );
AbstractType( cmdTyp );

/* --------------------------- Access to Tokens --------------------------- */

c_bool Tcmd_Ide(GLS_Tok x);            /*                                   */
c_bool Tcmd_Int(GLS_Tok x);            /*                                   */
c_bool Tcmd_Flo(GLS_Tok x);            /*                                   */
c_bool Tcmd_Seq(GLS_Tok x);            /*                                   */
c_bool Tcmd_Doc(GLS_Tok x);            /*                                   */
c_bool Tcmd_Dol(GLS_Tok x);            /*                                   */

/* --------------------------- Access to Terms ---------------------------- */

c_bool cmd_cmd(PT_Term x, cmd* x1);          /*                             */
c_bool cmd_Source(PT_Term x, cmdSource* x1); /*                             */
c_bool cmd_Dfn(PT_Term x, cmdDfn* x1);       /*                             */
c_bool cmd_OptVal(PT_Term x, cmdOptVal* x1); /*                             */
c_bool cmd_OptDoc(PT_Term x, cmdOptDoc* x1); /*                             */
c_bool cmd_Val(PT_Term x, cmdVal* x1);       /*                             */
c_bool cmd_Path(PT_Term x, cmdPath* x1);     /*                             */
c_bool cmd_OptDrv(PT_Term x, cmdOptDrv* x1); /*                             */
c_bool cmd_Pid(PT_Term x, cmdPid* x1);       /*                             */
c_bool cmd_Typ(PT_Term x, cmdTyp* x1);       /*                             */

/* --------------------------------- cmd ---------------------------------- */

c_bool cmd_Start_Source(cmd x, cmdSource* x1)
#define cmd_Start_0   cmd_Start_Source
;


/* -------------------------------- Source -------------------------------- */

c_bool cmdSource_root(cmdSource x, GLS_Lst(GLS_Tok)* x1, GLS_Tok* x2,
                      GLS_Tok* x3, GLS_Lst(cmdDfn)* x4,
                      cmdOptDoc* x5, GLS_Lst(cmdDfn)* x6,
                      cmdOptDoc* x7, GLS_Lst(cmdDfn)* x8,
                      cmdOptDoc* x9)
;


/* --------------------------------- Dfn ---------------------------------- */

c_bool cmdDfn_defn(cmdDfn x, GLS_Tok* x1, cmdTyp* x2,
                   cmdOptVal* x3, GLS_Tok* x4)
;


/* -------------------------------- OptVal -------------------------------- */

c_bool cmdOptVal_non(cmdOptVal x);             /*                           */
c_bool cmdOptVal_val(cmdOptVal x, cmdVal* x1); /*                           */

/* -------------------------------- OptDoc -------------------------------- */

c_bool cmdOptDoc_non(cmdOptDoc x);              /*                          */
c_bool cmdOptDoc_doc(cmdOptDoc x, GLS_Tok* x1); /*                          */

/* --------------------------------- Val ---------------------------------- */

c_bool cmdVal_false(cmdVal x);                      /*                      */
c_bool cmdVal_str(cmdVal x, GLS_Tok* x1);           /*                      */
c_bool cmdVal_int(cmdVal x, GLS_Tok* x1);           /*                      */
c_bool cmdVal_true(cmdVal x);                       /*                      */
c_bool cmdVal_name(cmdVal x, GLS_Tok* x1);          /*                      */
c_bool cmdVal_real(cmdVal x, GLS_Tok* x1);          /*                      */
c_bool cmdVal_path(cmdVal x, GLS_Lst(cmdPath)* x1); /*                      */

/* --------------------------------- Path --------------------------------- */

c_bool cmdPath_rel(cmdPath x, GLS_Lst(cmdPid)* x1);                /*       */
c_bool cmdPath_env(cmdPath x, GLS_Tok* x1, GLS_Lst(cmdPid)* x2);   /*       */
c_bool cmdPath_abs(cmdPath x, cmdOptDrv* x1, GLS_Lst(cmdPid)* x2); /*       */

/* -------------------------------- OptDrv -------------------------------- */

c_bool cmdOptDrv_non(cmdOptDrv x);                /*                        */
c_bool cmdOptDrv_drive(cmdOptDrv x, GLS_Tok* x1); /*                        */

/* --------------------------------- Pid ---------------------------------- */

c_bool cmdPid_curr(cmdPid x);                                   /*          */
c_bool cmdPid_ext(cmdPid x, GLS_Lst(GLS_Tok)* x1, GLS_Tok* x2); /*          */
c_bool cmdPid_prev(cmdPid x);                                   /*          */
c_bool cmdPid_name(cmdPid x, GLS_Lst(GLS_Tok)* x1);             /*          */

/* --------------------------------- Typ ---------------------------------- */

c_bool cmdTyp_real(cmdTyp x);          /*                                   */
c_bool cmdTyp_int(cmdTyp x);           /*                                   */
c_bool cmdTyp_path(cmdTyp x);          /*                                   */
c_bool cmdTyp_name(cmdTyp x);          /*                                   */
c_bool cmdTyp_flag(cmdTyp x);          /*                                   */
c_bool cmdTyp_str(cmdTyp x);           /*                                   */


#ifdef __cplusplus
}
#endif

#endif
