Class AbstractingCExpressionVisitor

java.lang.Object
org.antlr.v4.runtime.tree.AbstractParseTreeVisitor<StringBuilder>
org.variantsync.diffdetective.feature.cpp.AbstractingCExpressionVisitor
All Implemented Interfaces:
org.antlr.v4.runtime.tree.ParseTreeVisitor<StringBuilder>, CExpressionVisitor<StringBuilder>

public class AbstractingCExpressionVisitor extends org.antlr.v4.runtime.tree.AbstractParseTreeVisitor<StringBuilder> implements CExpressionVisitor<StringBuilder>
Visitor that abstracts all symbols of a formula, given as ANTLR parse tree, that might interfere with further formula analysis. This visitor traverses the given tree and substitutes all formula substrings with replacements by calling BooleanAbstraction.

Not all formulas or parts of a formula might require abstraction (e.g., 'A && B'). Therefore, this visitor should not be used directly. Instead, you may use a ControllingCExpressionVisitor which internally uses an AbstractingCExpressionVisitor to control how formulas are abstracted, and only abstracts those parts of a formula that require it.