#ifndef lexanVhdlH
#define lexanVhdlH

#include "lexan.h"
//---------------------------------------------------------------------------
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <list>
#include <queue>
#include <string>


//---------------------------------------------------------------------------
#include <string>
/*
#define  LEX_V_NULL  1
#define  LEX_V_ERROR  2
#define  LEX_V_ABS  3
#define  LEX_V_ACCESS 4 
#define  LEX_V_AFTER  5
#define  LEX_V_ALIAS  6
#define  LEX_V_ALL  7
#define  LEX_V_AND  8
#define  LEX_V_ARCHITECTURE 9 
#define  LEX_V_ARRAY  10
#define  LEX_V_ASSERT  11
#define  LEX_V_ATTRIBUTE 12 
#define  LEX_V_BEGIN  13
#define  LEX_V_BLOCK  14
#define  LEX_V_BODY  15
#define  LEX_V_BUFFER  16
#define  LEX_V_BUS  17
#define  LEX_V_CASE  18
#define  LEX_V_COMPONENT 19 
#define  LEX_V_CONFIGURATION 20 
#define  LEX_V_CONSTANT  21
#define  LEX_V_DISCONNECT  22
#define  LEX_V_DOWNTO  23
#define  LEX_V_ELSE  24
#define  LEX_V_ELSIF  25
#define  LEX_V_END  26
#define  LEX_V_ENTITY 27 
#define  LEX_V_EXIT  28
#define  LEX_V_FILE  29
#define  LEX_V_FOR  30
#define  LEX_V_FUNCTION 31 
#define  LEX_V_GENERATE  32
#define  LEX_V_GENERIC  33
#define  LEX_V_GROUP  34
#define  LEX_V_GUARDED  35
#define  LEX_V_IF  36
#define  LEX_V_IMPURE 37 
#define  LEX_V_IN  38
#define  LEX_V_INERTIAL 39 
#define  LEX_V_INOUT  40
#define  LEX_V_IS  41
#define  LEX_V_LABEL  42
#define  LEX_V_LIBRARY  43
#define  LEX_V_LINKAGE  44
#define  LEX_V_LITERAL  45
#define  LEX_V_LOOP  46
#define  LEX_V_MAP  47
#define  LEX_V_MOD  48
#define  LEX_V_NAND  49
#define  LEX_V_NEW  50
#define  LEX_V_NEXT  51
#define  LEX_V_NOR   52
#define  LEX_V_NOT  53
#define  LEX_V_OF  54
#define  LEX_V_ON  55
#define  LEX_V_OPEN  56
#define  LEX_V_OR  57
#define  LEX_V_OTHERS 58  
#define  LEX_V_OUT  59
#define  LEX_V_PACKAGE 60 
#define  LEX_V_PORT  61
#define  LEX_V_POSTOPENED 62 
#define  LEX_V_PROCEDURE  63
#define  LEX_V_PROCESS  64
#define  LEX_V_PROTECTED  65
#define  LEX_V_PURE  66
#define  LEX_V_RANGE  67
#define  LEX_V_RECORD  68
#define  LEX_V_REGISTER  69
#define  LEX_V_REJECT  70
#define  LEX_V_REM  71
#define  LEX_V_REPORT 72 
#define  LEX_V_RETURN  73
#define  LEX_V_ROL  74
#define  LEX_V_ROR  75
#define  LEX_V_SELECT 76 
#define  LEX_V_SEVERENITY 77 
#define  LEX_V_SHARED  78
#define  LEX_V_SIGNAL  79
#define  LEX_V_SLA  80
#define  LEX_V_SLL  81
#define  LEX_V_SRA  82
#define  LEX_V_SRL  83
#define  LEX_V_SUBTYPE  84
#define  LEX_V_THEN  85
#define  LEX_V_TO  86
#define  LEX_V_TRANSPORT 87 
#define  LEX_V_TYPE  88
#define  LEX_V_UNAFFECTED 89 
#define  LEX_V_UNITS  90
#define  LEX_V_UNTIL  91
#define  LEX_V_USE  92
#define  LEX_V_VARIABLE 93 
#define  LEX_V_WAIT  94
#define  LEX_V_WHEN  95
#define  LEX_V_WHILE  96
#define  LEX_V_WITH  97
#define  LEX_V_XNOR  98
#define  LEX_V_XOR  99
#define  LEX_V_EOF 100
#define  LEX_V_LITABSTR 101 
#define  LEX_V_LITCHAR 102
#define  LEX_V_LITSTRING 103
#define  LEX_V_LITBITSTR 104
#define  LEX_V_IDENT 105
#define  LEX_V_PLUS 106
#define  LEX_V_MINUS 107
#define  LEX_V_ASTER 108
#define  LEX_V_SLASH 109
#define  LEX_V_EQUAL 110
#define  LEX_V_GRT 111
#define  LEX_V_LESS 112
#define  LEX_V_AMPER 113
#define  LEX_V_QUOT 114
#define  LEX_V_SQUOT 115
#define  LEX_V_LPA 116
#define  LEX_V_RPA 117
#define  LEX_V_DOT 118
#define  LEX_V_COMMA 119
#define  LEX_V_CROSS 120
#define  LEX_V_VLINE 121
#define  LEX_V_LOEQ 122
#define  LEX_V_GOREQ 123
#define  LEX_V_NEQ 124
#define  LEX_V_RHOMB 125
#define  LEX_V_ASSIGN 126
#define  LEX_V_POWER 127
#define  LEX_V_DDOT 128
#define  LEX_V_ASR 129
#define  LEX_V_SEMICOL 130 
*/


class LexanVhdl: public Lexan {
   void kw_init();
public:
   LexanVhdl(void) {}
   void init(std::istream&, const std::string&);
   int NextToken(){ return LEX_V_NULL; }
   yytokentype NextToken(YYSTYPE*, yy::location* );
};


#endif 
