grammar SMTLibOutParser;

valuelist: '(' value+ ')'; //Build list of variables
value:     '(' ID expr ')';

expr: single |
      fraction |
      negative;

negative: '(-' fraction ')' |
          '(-' single ')';
single: RATIONAL;
fraction: '(/' RATIONAL RATIONAL ')';

ID: [a-zA-Z][a-zA-Z0-9]*; //Variable identifier.  Start with letter, then alpha numerical allowed.
RATIONAL: [0-9]+('.'[0-9]+)?;
WS : [ \t\r\n]+ -> skip ; // skip spaces, tabs, newlines
