Improvements and bugfixes for generate blocks with local signals
authorClifford Wolf <clifford@clifford.at>
Tue, 26 Mar 2013 10:13:58 +0000 (11:13 +0100)
committerClifford Wolf <clifford@clifford.at>
Tue, 26 Mar 2013 10:31:34 +0000 (11:31 +0100)
frontends/ast/simplify.cc
frontends/verilog/lexer.l

index 981897db55d2cde95da6a6d142a98c4da6483372..a03cd0beda88aa93658c168c530b626933dc8b00 100644 (file)
@@ -896,10 +896,8 @@ void AstNode::expand_genblock(std::string index_var, std::string prefix, std::ma
                return;
        }
 
-       if ((type == AST_IDENTIFIER || type == AST_FCALL || type == AST_TCALL) && name_map.count(str) > 0) {
+       if ((type == AST_IDENTIFIER || type == AST_FCALL || type == AST_TCALL) && name_map.count(str) > 0)
                str = name_map[str];
-               return;
-       }
 
        std::map<std::string, std::string> backup_name_map;
 
index a269c072a0b63e85c838aa017258e21d4ecdc01f..2a6c441717b53d190b558c13f9acdb10eb6e9889 100644 (file)
@@ -184,7 +184,7 @@ supply1 { return TOK_SUPPLY1; }
 "$signed"   { return TOK_TO_SIGNED; }
 "$unsigned" { return TOK_TO_UNSIGNED; }
 
-[a-zA-Z_$][a-zA-Z0-9_$]* {
+[a-zA-Z_$][a-zA-Z0-9_\.$]* {
        frontend_verilog_yylval.string = new std::string(std::string("\\") + yytext);
        return TOK_ID;
 }