Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

cw_ebnf_node_builder.h

Go to the documentation of this file.
00001 /*
00002  *  File:       cw_ebnf_node_builder.h
00003  *              $Id: cw_ebnf_node_builder.h,v 1.4 2002/06/23 23:31:46 alec Exp $
00004  *
00005  *  Author:     Alec Panoviciu (alecu@email.com)
00006  *
00007  *  Comments:
00008  *
00009  *  Revision history:
00010  *
00011  *  $Log: cw_ebnf_node_builder.h,v $
00012  *  Revision 1.4  2002/06/23 23:31:46  alec
00013  *  la-time usercode (force)
00014  *
00015  *  Revision 1.3  2002/06/13 11:36:05  alec
00016  *  added #line stuff
00017  *
00018  *  Revision 1.2  2002/05/16 21:33:44  alec
00019  *  parser generation done
00020  *
00021  *  Revision 1.1  2002/05/10 07:17:33  alec
00022  *  *** empty log message ***
00023  *
00024  */
00025 
00026 
00027 /* 
00028   Copyright (C) 2002 Alexandru Panoviciu (alecu@email.com)
00029 
00030   This program is free software; you can redistribute it and/or modify
00031   it under the terms of the GNU General Public License as published by
00032   the Free Software Foundation; either version 2 of the License, or
00033   (at your option) any later version.
00034 
00035   This program is distributed in the hope that it will be useful,
00036   but WITHOUT ANY WARRANTY; without even the implied warranty of
00037   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00038   GNU General Public License for more details.
00039 
00040   You should have received a copy of the GNU General Public License
00041   along with this program; if not, write to the Free Software
00042   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00043 
00044  */
00045 
00046 #ifndef __CW_EBNF_NODE_BUILDER_H__
00047 #define __CW_EBNF_NODE_BUILDER_H__
00048 
00049 #if defined __cplusplus
00050 
00051 class IEbnfNodeBuilder;
00052 
00060 extern IEbnfNodeBuilder *cw_ebnfNodeBuilder;
00061 
00062 #define CLINK extern "C"
00063 
00064 #else
00065 
00066 #define CLINK 
00067 
00068 #endif
00069 
00070 #include "cw_misc.h"
00071 
00072 
00073 CLINK void IEbnfNodeBuilder_setLookahead (void *node, void *la);
00074 
00075 CLINK void IEbnfNodeBuilder_setCatchClauses (void *node,
00076                                              CwCatchClauseList cl);
00077 
00078 CLINK void IEbnfNodeBuilder_setStartCode (void *node, char *startCode,
00079                                           int force);
00080 
00081 CLINK void IEbnfNodeBuilder_setEndCode (void *node, char *endCode,
00082                                         int force);
00083 
00084 CLINK void* IEbnfNodeBuilder_createOrNode (void *pre, void *post);
00085 
00086 CLINK void* IEbnfNodeBuilder_createCatNode (void *pre, void *post);
00087 
00088 CLINK void* IEbnfNodeBuilder_createPlusNode (void *in);
00089 
00090 CLINK void* IEbnfNodeBuilder_createStarNode (void *in);
00091 
00092 CLINK void* IEbnfNodeBuilder_createOptionalNode (void *in);
00093 
00094 CLINK void* IEbnfNodeBuilder_createNonterminalNode (char *targetVar,
00095                                                     int targetVarLine,
00096                                                     char *nontermId,
00097                                                     char *actualArgs,
00098                                                     int actualArgsLine);
00099 
00100 CLINK void* IEbnfNodeBuilder_createTerminalNode (char *termId);
00101 
00102 CLINK void* IEbnfNodeBuilder_createLaSpec (int fixedla, void *synLa,
00103                                            char *semLa);
00104 
00105 CLINK void* IEbnfNodeBuilder_createCatchClause (char *exceptionDecl,
00106                                                 int edLine,
00107                                                 char *code);
00108 
00109 #endif /* #ifndef __CW_EBNF_NODE_BUILDER_H__ */

Generated at Tue Jul 9 21:05:43 2002 for CppCC by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001