*/
annotation[CVC4::Command*& smt_command]
@init {
- std::string key;
+ std::string key, value;
smt_command = NULL;
std::vector<Expr> pats;
Expr pat;
{ PARSER_STATE->warning(":pat not supported here; ignored"); }
annotatedFormulas[pats,pat] '}'
| attribute[key]
- ( value=userValue
+ ( userValue[value]
{ smt_command = new SetInfoCommand(key.c_str() + 1, value); }
| { smt_command = new EmptyCommand(std::string("annotation: ") + key); }
)
*/
termAnnotation[CVC4::Expr& expr]
@init {
- std::string key;
+ std::string key, value;
std::vector<Expr> pats;
Expr pat;
}
}
| ':pat'
{ PARSER_STATE->warning("expected an instantiation pattern after :pat"); }
- | attribute[key] userValue?
+ | attribute[key] userValue[value]?
{ PARSER_STATE->attributeNotSupported(key); }
;
* only constraint imposed on a user-defined value is that it start
* with an open brace and end with closed brace.
*/
-userValue returns [std::string s]
+userValue[std::string& s]
: USER_VALUE
- { $s = AntlrInput::tokenText($USER_VALUE); }
+ { s = AntlrInput::tokenText($USER_VALUE); }
;
PATTERN_ANNOTATION_BEGIN