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 /* 19 yybasic.h: Basic definitions used only by grammar and lexicon. 20 This is a C header file. 21 */ 22 #ifndef __yybasic_h 23 #define __yybasic_h 24 #include "expr.h" 25 26 struct lex_keywordentry { 27 char *Keyword; 28 int Value; 29 }; 30 31 32 typedef union { 33 int I; /* Used for integers */ 34 char *S; /* Used for strings */ 35 Expr *E; /* Expression */ 36 void *P; /* Generic pointer */ 37 } YYVALUE; 38 39 #define YYSTYPE YYVALUE 40 extern YYVALUE yylval; 41 42 extern int nativeVerilog; 43 extern int ycLineNumber; 44 45 void BeginPV(); 46 void BeginVR(); 47 void BeginBC(); 48 void BeginAC(); 49 void BeginLC(); 50 void BeginDD(); 51 void BeginDDP(); 52 void BeginVN(); 53 void BeginHDL(); 54 void BeginLast(); 55 void SaveLast(); 56 57 int yyparse(); 58 int yylex(); 59 void yyerror(const char*,...); 60 61 void ycSetDefaultModuleType(int modType); 62 void ycSetModuleType(int modType); 63 void ycDirective(char *dtext); 64 65 66 #endif 67 68 69