All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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