JFlex

Class SemCheck


public final class SemCheck
extends java.lang.Object

Performs simple semantic analysis on regular expressions.

Method Summary

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.

Method Details

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.