diff --git a/liberty/LibertyLex.ll b/liberty/LibertyLex.ll index 4001db06..cfc24677 100644 --- a/liberty/LibertyLex.ll +++ b/liberty/LibertyLex.ll @@ -70,7 +70,7 @@ HNAME ({PIN_NAME}|{BUS_NAME}|{MIXED_NAME})([\/.]({PIN_NAME}|{BUS_NAME}|{MIXED_NA /* default_operating_conditions : slow_100_3.00 ; */ /* revision : 1.0.17; */ /* default_wire_load : xc2v250-5_avg; */ -TOKEN ({ALPHA}|{DIGIT}|_)({ALPHA}|{DIGIT}|[._\-])* +TOKEN ({ALPHA}|{DIGIT}|_)({ALPHA}|{DIGIT}|[._\-])*(:({ALPHA}|{DIGIT}|_)+)? /* bus_naming_style : %s[%d] ; */ BUS_STYLE "%s"{BUS_LEFT}"%d"{BUS_RIGHT} PUNCTUATION [,\:;|(){}+*&!'=] diff --git a/liberty/LibertyParse.yy b/liberty/LibertyParse.yy index 609826f7..1424fa29 100644 --- a/liberty/LibertyParse.yy +++ b/liberty/LibertyParse.yy @@ -86,18 +86,6 @@ group: { sta::libertyGroupBegin($1, $3, $5); } statements '}' semi_opt { $$ = sta::libertyGroupEnd(); } - /* group(name1:name2) { stmts } */ -| KEYWORD '(' KEYWORD ':' KEYWORD ')' line '{' - { sta::LibertyAttrValueSeq *args = sta::makeLibertyGroupColonArgs($3, $5); - sta::libertyGroupBegin($1, args, $7); } - statements '}' semi_opt - { $$ = sta::libertyGroupEnd(); } - /* group(name1:name2); */ -| KEYWORD '(' KEYWORD ':' KEYWORD ')' line - { sta::LibertyAttrValueSeq *args = sta::makeLibertyGroupColonArgs($3, $5); - sta::libertyGroupBegin($1, args, $7); } - semi_opt - { $$ = sta::libertyGroupEnd(); } ; line: /* empty */ diff --git a/liberty/LibertyParser.cc b/liberty/LibertyParser.cc index f172229a..45a79802 100644 --- a/liberty/LibertyParser.cc +++ b/liberty/LibertyParser.cc @@ -127,21 +127,6 @@ libertyGroupEnd() } } -// Helper for brain damaged group args with embedded colon. -// group(name1:name2) { stmts } -LibertyAttrValueSeq * -makeLibertyGroupColonArgs(const char *name1, - const char *name2) -{ - LibertyAttrValueSeq *attr_values = new sta::LibertyAttrValueSeq; - char *str_arg = stringPrint("%s:%s", name1, name2); - stringDelete(name1); - stringDelete(name2); - LibertyAttrValue *arg = makeLibertyStringAttrValue(str_arg); - attr_values->push_back(arg); - return attr_values; -} - //////////////////////////////////////////////////////////////// LibertyStmt::LibertyStmt(int line) : diff --git a/liberty/LibertyParser.hh b/liberty/LibertyParser.hh index 8b82059c..bd3a8804 100644 --- a/liberty/LibertyParser.hh +++ b/liberty/LibertyParser.hh @@ -303,9 +303,6 @@ void libertyGroupBegin(const char *type, LibertyAttrValueSeq *params, int line); -LibertyAttrValueSeq * -makeLibertyGroupColonArgs(const char *name1, - const char *name2); LibertyGroup * libertyGroupEnd(); LibertyGroup *