JFlex

Class SemCheck

public final class SemCheck extends Object

Performs simple semantic analysis on regular expressions.
Method Summary
static voidcheck(RegExps rs, Macros m, File f)
Performs semantic analysis for all expressions.
static booleanisFiniteChoice(RegExp re)
Returns true iff the expression is a finite choice of fixed length expressions.
static intlength(RegExp re)
Returns length if expression has fixed length, -1 otherwise.
static booleanmaybeEmtpy(RegExp re)
Checks if the expression potentially matches the empty string.

Method Detail

check

public static void check(RegExps rs, Macros m, File f)
Performs semantic analysis for all expressions. Currently checks for empty expressions only.

Parameters: rs the reg exps to be checked m the macro table (in expanded form) f the spec file containing the rules

isFiniteChoice

public static boolean isFiniteChoice(RegExp re)
Returns true iff the expression is a finite choice of fixed length expressions. Negation operators are treated as always variable length.

length

public static int length(RegExp re)
Returns length if expression has fixed length, -1 otherwise. Negation operators are treated as always variable length.

maybeEmtpy

public static boolean maybeEmtpy(RegExp re)
Checks if the expression potentially matches the empty string.