1 /****************************************************************************
2     Copyright (C) 1987-2015 by Jeffery P. Hansen
3 
4     This program is free software; you can redistribute it and/or modify
5     it under the terms of the GNU General Public License as published by
6     the Free Software Foundation; either version 2 of the License, or
7     (at your option) any later version.
8 
9     This program is distributed in the hope that it will be useful,
10     but WITHOUT ANY WARRANTY; without even the implied warranty of
11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12     GNU General Public License for more details.
13 
14     You should have received a copy of the GNU General Public License along
15     with this program; if not, write to the Free Software Foundation, Inc.,
16     51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17 ****************************************************************************/
18 #ifndef __vparser_h
19 #define __vparser_h
20 #include "expr.h"
21 
22 #define TYPE_INT	0
23 #define TYPE_STR	1
24 
25 void VerSetRootMod();
26 void VerEndGate();
27 void VerSetProperty(const char *prop,int n);
28 void VerSetStrProperty(const char *prop,const char *value);
29 void VerCheckVersion(const char*);
30 void VerCircuitProp(const char*,const void*,int);
31 void VerModuleProp(const char*,const void*,int);
32 void VerAddScript(const char*);
33 void VerAddVLib(const char*);
34 void VerNewModule(int,const char*,int);
35 void VerModParm(const char*);
36 void VerEndModule();
37 void VerNewNet(const char*,int,int);
38 void VerGate(const char *gtype,const char *instName);
39 void VerCell(const char *ctype,const char *instName);
40 void VerAttach(const char*,const char*,int);
41 void VerRevPad(int);
42 void VerMakeNode(int,int,int,int,int);
43 void VerEndDecls();
44 void VerMakeWire(int);
45 void VerSetPos(int,int);
46 void VerSetSize(int,int);
47 void VerSetRot(int);
48 void VerSetShowName(int);
49 void VerSetWireDecorationPos(int,int,int);
50 void VerPlaceWire(int);
51 void VerJointNet(const char*);
52 void VerBlockPort(const char *pname,int pdir,int widx);
53 void VerBeginBD();
54 void VerEndBD();
55 void VerBDPort(const char*,int,const char*,int,int,int);
56 void VerTranDup();
57 void VerTranRange(int,int);
58 void VerIconData(const char *data);
59 void VerSetIcon(const char *name,int N,int x,int y);
60 void VerSymPort(const char *ptype,const char *name,int nbits,int x,int y,int orient);
61 void VerSymbol(unsigned id);
62 void VerSetBlockSymbol(unsigned id);
63 void VerAddHdlLine(const char *text);
64 void VerRenameCurrent(const char *name);
65 void VerModHashParm(const char*,Expr*);
66 void VerCallMParmFlush();
67 void VerCallMParmAdd(const char *name,const char *value);
68 void VerAddScriptLine(const char *line);
69 
70 void VerBeginDelayDef(const char *tech, const char *prim);
71 void VerEndDelayDef();
72 void PrimSet(const char*,const char*,Expr*);
73 
74 int ycIsKW(char *Tok);
75 
76 #endif
77