JFlex
Class SemCheck
public final class SemCheck
extends java.lang.Object
Performs simple semantic analysis on regular expressions.
static void | check(RegExps rs, Macros m, File f) - Performs semantic analysis for all expressions.
|
static boolean | isFiniteChoice(RegExp re) - Returns true iff the expression is a finite choice of fixed length
expressions.
|
static int | length(RegExp re) - Returns length if expression has fixed length, -1 otherwise.
|
static boolean | maybeEmtpy(RegExp re) - Checks if the expression potentially matches the empty string.
|
check
public static void check(RegExps rs,
Macros m,
File f)
Performs semantic analysis for all expressions.
Currently checks for empty expressions only.
rs
- the reg exps to be checkedm
- 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.