## regular-expression.api
# Compiled by:
#
src/app/future-lex/src/lexgen.lib# RE representation and manipulation
api Regular_Expression {
package sym: Interval_Domain; # Interval_Domain is from
src/lib/src/interval-domain.api package symbol_set: Interval_Set; # Interval_Set is from
src/lib/src/interval-set.api Symbol;
Symbol_Set;
Re;
any: Re; # wildcard
none: Re; # EMPTY language
epsilon: Re; # the NIL character (of length 0)
make_symbol: Symbol -> Re;
make_symbol_set: Symbol_Set -> Re;
make_or: (Re, Re) -> Re;
make_and: (Re, Re) -> Re;
make_xor: (Re, Re) -> Re;
make_not: Re -> Re;
make_meld: (Re, Re) -> Re;
make_closure: Re -> Re;
make_option: Re -> Re;
make_repetition: (Re, Int, Int) -> Re;
make_at_least: (Re, Int) -> Re;
is_none: Re -> Bool;
nullable: Re -> Bool;
derivative: Symbol -> Re -> Re;
derivatives: vector::Vector( Re ) ->
List( ((vector::Vector( Re ) ), Symbol_Set));
symbol_to_string: Symbol -> String;
to_string: Re -> String;
compare: (Re, Re) -> Order;
};
## COPYRIGHT (c) 2005 John Reppy (http://www.cs.uchicago.edu/~jhr) Aaron Turon (adrassi@gmail.com)
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.