( 'extract' n1=INTEGER_LITERAL n2=INTEGER_LITERAL
{ op = MK_CONST(BitVectorExtract(AntlrInput::tokenToUnsigned($n1),
AntlrInput::tokenToUnsigned($n2))); }
- | ('repeat')=>'repeat' n=INTEGER_LITERAL
+ | 'repeat' n=INTEGER_LITERAL
{ op = MK_CONST(BitVectorRepeat(AntlrInput::tokenToUnsigned($n))); }
| 'zero_extend' n=INTEGER_LITERAL
{ op = MK_CONST(BitVectorZeroExtend(AntlrInput::tokenToUnsigned($n))); }
symbol[std::string& id,
CVC4::parser::DeclarationCheck check,
CVC4::parser::SymbolType type]
- : s=( SIMPLE_SYMBOL | 'repeat' )
- { id = AntlrInput::tokenText($s);
+ : SIMPLE_SYMBOL
+ { id = AntlrInput::tokenText($SIMPLE_SYMBOL);
if(!PARSER_STATE->isAbstractValue(id)) {
// if an abstract value, SmtEngine handles declaration
PARSER_STATE->checkDeclaration(id, check, type);
}
}
+ | 'repeat'
+ { id = "repeat";
+ PARSER_STATE->checkDeclaration(id, check, type);
+ }
| QUOTED_SYMBOL
{ id = AntlrInput::tokenText($QUOTED_SYMBOL);
/* strip off the quotes */