Allow square brackets in liberty identifiers
authorClifford Wolf <clifford@clifford.at>
Mon, 5 Nov 2018 11:33:21 +0000 (12:33 +0100)
committerClifford Wolf <clifford@clifford.at>
Mon, 5 Nov 2018 11:33:33 +0000 (12:33 +0100)
Signed-off-by: Clifford Wolf <clifford@clifford.at>
frontends/liberty/liberty.cc
passes/techmap/libparse.cc

index 66db43baf715ffa9e2aa525c7d95cc4bf7f3ecc6..4acfbf1cb2b7b7c7eadd55b99dfef336e7c8a5a7 100644 (file)
@@ -36,7 +36,8 @@ static RTLIL::SigSpec parse_func_identifier(RTLIL::Module *module, const char *&
 
        int id_len = 0;
        while (('a' <= expr[id_len] && expr[id_len] <= 'z') || ('A' <= expr[id_len] && expr[id_len] <= 'Z') ||
-                       ('0' <= expr[id_len] && expr[id_len] <= '9') || expr[id_len] == '.' || expr[id_len] == '_') id_len++;
+                       ('0' <= expr[id_len] && expr[id_len] <= '9') || expr[id_len] == '.' ||
+                       expr[id_len] == '_' || expr[id_len] == '[' || expr[id_len] == ']') id_len++;
 
        if (id_len == 0)
                log_error("Expected identifier at `%s'.\n", expr);
index bb09117e21e1e49c2cb81fe8128d786ab2a0b29c..3927a657b3229654cb9a3208138376eb523c924d 100644 (file)
@@ -90,11 +90,11 @@ int LibertyParser::lexer(std::string &str)
                c = f.get();
        } while (c == ' ' || c == '\t' || c == '\r');
 
-       if (('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || ('0' <= c && c <= '9') || c == '_' || c == '-' || c == '+' || c == '.') {
+       if (('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || ('0' <= c && c <= '9') || c == '_' || c == '-' || c == '+' || c == '.' || c == '[' || c == ']') {
                str = c;
                while (1) {
                        c = f.get();
-                       if (('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || ('0' <= c && c <= '9') || c == '_' || c == '-' || c == '+' || c == '.')
+                       if (('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || ('0' <= c && c <= '9') || c == '_' || c == '-' || c == '+' || c == '.' || c == '[' || c == ']')
                                str += c;
                        else
                                break;