From d9096db484a125f0dfa77ada7c0efc9e68a811c7 Mon Sep 17 00:00:00 2001 From: Martin Hans Date: Mon, 2 Oct 2017 14:54:01 -0700 Subject: [PATCH] Adds support for aliases. --- src/vhd2vl.l | 1 + src/vhd2vl.y | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/vhd2vl.l b/src/vhd2vl.l index 661824f..2302fe4 100644 --- a/src/vhd2vl.l +++ b/src/vhd2vl.l @@ -96,6 +96,7 @@ void getbasedstring(unsigned skip); "of" { return OF; } "array" {return ARRAY; } "signal" { return SIGNAL; } +"alias" { return ALIAS; } "begin" { return BEGN; } "not" { return NOT; } "when" { return WHEN; } diff --git a/src/vhd2vl.y b/src/vhd2vl.y index afe5917..6ee5507 100644 --- a/src/vhd2vl.y +++ b/src/vhd2vl.y @@ -695,7 +695,7 @@ slist *emit_io_list(slist *sl) %token REM ENTITY IS PORT GENERIC IN OUT INOUT MAP %token INTEGER BIT BITVECT DOWNTO TO TYPE END %token ARCHITECTURE COMPONENT OF ARRAY -%token SIGNAL BEGN NOT WHEN WITH EXIT +%token SIGNAL ALIAS BEGN NOT WHEN WITH EXIT %token SELECT OTHERS PROCESS VARIABLE CONSTANT %token IF THEN ELSIF ELSE CASE %token FOR LOOP GENERATE @@ -1224,6 +1224,15 @@ a_decl : {$$=NULL;} p->next=type_list; type_list=p; } + | a_decl ALIAS NAME ':' type IS expr ';' rem { + slist * sl; + sl=addtxt($1,"alias "); + sl=addtxt(sl,$3); + sl=addtxt(sl," = "); + sl=addsl(sl,$7->sl); + sl=addtxt(sl,";\n"); + $$=addsl(sl,$9); + } | a_decl TYPE NAME IS ARRAY '(' vec_range ')' OF type ';' rem { slist *sl=NULL; sglist *p;