Package jfun.parsec

Provides classes and interfaces for parser combinator logic and basic parsers.

See:
          Description

Interface Summary
Accumulatable<From,To> Factory to create an Accumulator object.
Accumulator<From,To> Used to accumulate objects.
ArrayFactory<T> A factory to create arrays.
Binary<T> This interface represents a binary operation on the same type.
Catch<T> To catch a pseudo-exception 'thrown' from a Parser.
FromChar<R> maps char to Object.
FromLong<R> maps long to Object.
FromMyText<R> Used by class Terms to identify a MyToken object.
FromString<R> maps string to Object.
FromString2<R> maps 2 strings to an Object.
FromString3<R> maps 3 strings to object.
FromToken<R> maps a token object to an Object.
Map<From,To> maps one object to another.
Map2<A,B,R> maps two objects to one object.
Map3<A,B,C,R> maps 3 objects to an Object.
Map4<A,B,C,D,R> maps 4 objects to an Object.
Map5<A,B,C,D,E,R> maps 5 objects to an Object.
Mapn<R> Responsible for mapping an array of n objects to one object.
ObjectPredicate<T> Maps an Object to a boolean value.
ParseError Describes Parse error.
ParserEval<R> This is to provide laziness of a Parser.
PositionMap The interface to find the line number, column number of a certain position in the source.
ShowToken To convert a token object to String.
Tokenizer A tokenizer is used by a scanner object to interpret the output of a Scanner.
ToParser<From,To> Maps an Object to a Parser.
Unary<T> This interface represents a unary operation on the same type.
 

Class Summary
_ This class is an indicator of "no value".
ArrayFactories Provide some standard ArrayFactory implementations.
Catch1<T> Catch1 implements Catch and recovers the exception only when the exception is the same object that it expects.
ConstTokenizer This tokenizer will always return the same token regardless of the input range.
DefaultPositionMap This default implementation of PositionMap.
Expressions Expressions provides helper functions to build parser for a operator-precedence expression grammar.
IsToken Tests if the token is the same token expected.
Lexers Provides some predefined basic lexer objects.
Maps This class provides some standard Map implementations.
OperatorTable<E> This class is used to describe operator information.
Pair<A,B> This is a simple Java Bean for a pair of objects.
Parser<Type> A parser runs either on character level or token level.
Parsers This class provides general parser combinators that work on both character level and token level.
ParsingFrame This class represents an error frame during parsing.
Pos Pos represents a position in the source.
PositionedToken Deprecated. Use Tok instead.
Scanners Scanners class provides basic character level parsers and the combinators that only work on scanners.
String2TokenWord This implementation of FromString creates a TypedToken instance from the string.
String2Value This implementation of FromString simply returns an object for any parameter.
Terms This helper class provides convenient api's to build lexer and parsers for terminals.
Tok This class carries the position information of a token.
Token2String Default ShowToken implementation that uses toString() to convert.
Tuple3<A,B,C> This is a simple Java Bean for 3 objects.
Tuple4<A,B,C,D> This is a simple Java Bean for 4 objects.
Tuple5<A,B,C,D,E> This is a simple Java Bean for 5 objects.
Tuples This class is the facade to create various tuple java beans.
Words This helper class provides convenient api's to build lexer and parsers for keywords and operators.
 

Exception Summary
IllegalParserStateException Represents an illegal state in parser.
ParserException ParserException is thrown when a grammar error happens.
UserException User code can throw this exception when a non-recoverable error is encountered.
 

Package jfun.parsec Description

Provides classes and interfaces for parser combinator logic and basic parsers. A Parser can work on either character level or token level.
Parser, Parsers, Scanners are the 3 core classes in this package.

Package Specification

The code is developed and tested under Java 5.0.

Related Documentation

For overviews, tutorials, examples, guides, and tool documentation, please see README.txt: