jaskell.parsec.Ahead Maven / Gradle / Ivy
package jaskell.parsec;
import java.io.EOFException;
/**
* Created by Mars Liu on 16/9/15.
* Ahead look forward state and try to match parser.
* Ahead return the parser data or fail and rollback state whatever
*/
public class Ahead
implements Parsec {
Parsec parser;
@Override
public T parse(State s) throws EOFException, ParsecException {
Tran tran = s.begin();
try {
return parser.parse(s);
} finally {
s.rollback(tran);
}
}
public Ahead(Parsec parser){
this.parser = parser;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy