|
||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||
java.lang.Objectdk.brics.grammar.ambiguity.AmbiguityAnalyzer
public class AmbiguityAnalyzer
Grammar ambiguity checker.
Based on "Analyzing Ambiguity of Context-Free Grammars", by Claus Brabrand, Robert Giegerich, and Anders Møller.
| Constructor Summary | |
|---|---|
AmbiguityAnalyzer(List<ApproximationStrategy> approx,
PrintWriter out)
Constructs a new grammar analyzer with the given list of approximation strategies. |
|
AmbiguityAnalyzer(PrintWriter out,
boolean verbose)
Constructs a new grammar analyzer with default approximation strategies. |
|
| Method Summary | |
|---|---|
boolean |
analyze(Grammar g)
Analyzes the given grammar. |
long |
getMaxMemory()
Returns maximal memory usage during last analysis. |
int |
getNumberOfCertainHorizontalAmbiguities()
Returns the number of certain horizontal ambiguities from last analysis. |
int |
getNumberOfCertainVerticalAmbiguities()
Returns the number of certain vertical ambiguities from last analysis. |
int |
getNumberOfOutOfMemoryErrors()
Returns the number ambiguity checks that resulted in OutOfMemoryError. |
int |
getNumberOfPotentialHorizontalAmbiguities()
Returns the number of potential horizontal ambiguities from last analysis. |
int |
getNumberOfPotentialVerticalAmbiguities()
Returns the number of potential vertical ambiguities from last analysis. |
void |
printStatistics(PrintWriter out)
Prints statistics for the approximation strategies from the last analysis. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public AmbiguityAnalyzer(List<ApproximationStrategy> approx,
PrintWriter out)
approx - approximation strategiesout - print writer for messages
public AmbiguityAnalyzer(PrintWriter out,
boolean verbose)
throws InstantiationException,
IllegalAccessException,
ClassNotFoundException
terminal,
regular2,
regular.
This default behavior can be changed by setting the system property
dk.brics.grammar.ambiguity.strategies to the list of classes implementing the strategies.
out - print writer for messagesverbose - if enabled, verbose output is generated
ClassNotFoundException - if an approximation strategy class was not found
IllegalAccessException - if an approximation strategy class or its nullary constructor is not accessible
InstantiationException - if an approximation strategy class cannot be instantiated| Method Detail |
|---|
public boolean analyze(Grammar g)
g - grammar
public long getMaxMemory()
public int getNumberOfCertainHorizontalAmbiguities()
public int getNumberOfCertainVerticalAmbiguities()
public int getNumberOfOutOfMemoryErrors()
OutOfMemoryError.
public int getNumberOfPotentialHorizontalAmbiguities()
public int getNumberOfPotentialVerticalAmbiguities()
public void printStatistics(PrintWriter out)
out - print writer for output
|
||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||