Minor changes to VHDL lexor
This commit is contained in:
parent
d747859a85
commit
75203dc121
|
|
@ -38,6 +38,8 @@ extern int lexor_keyword_code (const char*str, unsigned len);
|
|||
*/
|
||||
extern YYLTYPE yylloc;
|
||||
|
||||
static int check_underscores(char*);
|
||||
|
||||
static char* strdupnew(char const *str)
|
||||
{
|
||||
return str ? strcpy(new char [strlen(str)+1], str) : 0;
|
||||
|
|
@ -51,7 +53,11 @@ static int comment_enter;
|
|||
%x LCOMMENT
|
||||
|
||||
W [ \t\b\f\r]+
|
||||
decimal_literal {integer}(\.{integer})?({exponent})?
|
||||
integer [0-9](_?[0-9])*
|
||||
exponent [eE][-+]?{integer}
|
||||
|
||||
based_integer [0-9a-fA-F](_?[0-9a-fA-F])*
|
||||
%%
|
||||
|
||||
[ \t\b\f\r] { ; }
|
||||
|
|
@ -74,7 +80,7 @@ W [ \t\b\f\r]+
|
|||
<CCOMMENT>"*/" { BEGIN(comment_enter); }
|
||||
|
||||
|
||||
[a-zA-Z_][a-zA-Z0-9_]* {
|
||||
[a-zA-Z][a-zA-Z0-9_]* {
|
||||
int rc = lexor_keyword_code(yytext, yyleng);
|
||||
switch (rc) {
|
||||
case IDENTIFIER:
|
||||
|
|
@ -92,7 +98,7 @@ W [ \t\b\f\r]+
|
|||
":=" { return VASSIGN; }
|
||||
"/=" { return NE; }
|
||||
"<>" { return BOX; }
|
||||
j
|
||||
"**" { return EXP; }
|
||||
/*
|
||||
"??" { return K_CC; }
|
||||
"?=" {}
|
||||
|
|
@ -109,6 +115,10 @@ j
|
|||
|
||||
extern void yyparse_set_filepath(const char*path);
|
||||
|
||||
static int check_underscores(char* text) {
|
||||
|
||||
}
|
||||
|
||||
void reset_lexor(FILE*fd, const char*path)
|
||||
{
|
||||
yylloc.text = path;
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ component, GN_KEYWORD_2008, K_component
|
|||
configuration, GN_KEYWORD_2008, K_configuration
|
||||
constant, GN_KEYWORD_2008, K_constant
|
||||
context, GN_KEYWORD_2008, K_context
|
||||
//cover, GN_KEYWORD_2008, K_cover
|
||||
cover, GN_KEYWORD_2008, K_cover
|
||||
default, GN_KEYWORD_2008, K_default
|
||||
disconnect, GN_KEYWORD_2008, K_disconnect
|
||||
downto, GN_KEYWORD_2008, K_downto
|
||||
|
|
@ -45,10 +45,10 @@ elsif GN_KEYWORD_2008, K_elsif
|
|||
end, GN_KEYWORD_2008, K_end
|
||||
entity, GN_KEYWORD_2008, K_entity
|
||||
exit, GN_KEYWORD_2008, K_exit
|
||||
//fairness, GN_KEYWORD_2008, K_fairness
|
||||
fairness, GN_KEYWORD_2008, K_fairness
|
||||
file, GN_KEYWORD_2008, K_file
|
||||
for, GN_KEYWORD_2008, K_for
|
||||
//force, GN_KEYWORD_2008, K_force
|
||||
force, GN_KEYWORD_2008, K_force
|
||||
function, GN_KEYWORD_2008, K_function
|
||||
generate, GN_KEYWORD_2008, K_generate
|
||||
generic, GN_KEYWORD_2008, K_generic
|
||||
|
|
@ -83,14 +83,14 @@ port, GN_KEYWORD_2008, K_port
|
|||
postponed, GN_KEYWORD_2008, K_postponed
|
||||
procedure, GN_KEYWORD_2008, K_procedure
|
||||
process, GN_KEYWORD_2008, K_process
|
||||
//property, GN_KEYWORD_2008, K_propoerty
|
||||
property, GN_KEYWORD_2008, K_propoerty
|
||||
protected, GN_KEYWORD_2008, K_protected
|
||||
pure, GN_KEYWORD_2008, K_pure
|
||||
range, GN_KEYWORD_2008, K_range
|
||||
record, GN_KEYWORD_2008, K_record
|
||||
register, GN_KEYWORD_2008, K_register
|
||||
reject, GN_KEYWORD_2008, K_reject
|
||||
//release, GN_KEYWORD_2008, K_release
|
||||
release, GN_KEYWORD_2008, K_release
|
||||
rem, GN_KEYWORD_2008, K_rem
|
||||
report, GN_KEYWORD_2008, K_report
|
||||
restrict, GN_KEYWORD_2008, K_restrict
|
||||
|
|
@ -98,7 +98,7 @@ return, GN_KEYWORD_2008, K_return
|
|||
rol, GN_KEYWORD_2008, K_rol
|
||||
ror, GN_KEYWORD_2008, K_ror
|
||||
select, GN_KEYWORD_2008, K_select
|
||||
//sequence, GN_KEYWORD_2008, K_sequence
|
||||
sequence, GN_KEYWORD_2008, K_sequence
|
||||
severity, GN_KEYWORD_2008, K_severity
|
||||
signal, GN_KEYWORD_2008, K_signal
|
||||
shared, GN_KEYWORD_2008, K_shared
|
||||
|
|
@ -106,7 +106,7 @@ sla, GN_KEYWORD_2008, K_sla
|
|||
sll, GN_KEYWORD_2008, K_sll
|
||||
sra, GN_KEYWORD_2008, K_sra
|
||||
srl, GN_KEYWORD_2008, K_srl
|
||||
//string, GN_KEYWORD_2008, K_string
|
||||
strong, GN_KEYWORD_2008, K_strong
|
||||
subtype, GN_KEYWORD_2008, K_subtype
|
||||
then, GN_KEYWORD_2008, K_then
|
||||
to, GN_KEYWORD_2008, K_to
|
||||
|
|
@ -117,9 +117,9 @@ units. GN_KEYWORD_2008, K_units
|
|||
until, GN_KEYWORD_2008, K_until
|
||||
use, GN_KEYWORD_2008, K_use
|
||||
variable, GN_KEYWORD_2008, K_variable
|
||||
//vmode, GN_KEYWORD_2008, K_vmode
|
||||
//vprop, GN_KEYWORD_2008, K_vprop
|
||||
//vunit, GN_KEYWORD_2008, K_vunit
|
||||
vmode, GN_KEYWORD_2008, K_vmode
|
||||
vprop, GN_KEYWORD_2008, K_vprop
|
||||
vunit, GN_KEYWORD_2008, K_vunit
|
||||
wait, GN_KEYWORD_2008, K_wait
|
||||
when, GN_KEYWORD_2008, K_when
|
||||
while, GN_KEYWORD_2008, K_while
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ int parse_errors = 0;
|
|||
%token K_range K_record K_register K_reject K_release K_rem K_report
|
||||
%token K_restrict K_restrict_guarantee K_return K_rol K_ror
|
||||
%token K_select K_sequence K_severity K_signal K_shared
|
||||
%token K_sla K_sll K_sra K_srl K_string K_subtype
|
||||
%token K_sla K_sll K_sra K_srl K_strong K_subtype
|
||||
%token K_then K_to K_transport K_type
|
||||
%token K_unaffected K_units K_until K_use
|
||||
%token K_variable K_vmode K_vprop K_vunit
|
||||
|
|
|
|||
Loading…
Reference in New Issue