Click or drag to resize

LGSPMatcherGenerator Class

Class generating matcher programs out of rules. A PatternGraphAnalyzer must run before the matcher generator is used, so that the analysis data is written the pattern graphs of the matching patterns to generate code for.
Inheritance Hierarchy
SystemObject
  de.unika.ipd.grGen.lgspLGSPMatcherGenerator

Namespace: de.unika.ipd.grGen.lgsp
Assembly: lgspBackend (in lgspBackend.dll) Version: GrGen.NET 7.1
Syntax
C#
public class LGSPMatcherGenerator

The LGSPMatcherGenerator type exposes the following members.

Constructors
 NameDescription
Public methodLGSPMatcherGenerator Instantiates a new instance of LGSPMatcherGenerator with the given graph model. A PatternGraphAnalyzer must run before the matcher generator is used, so that the analysis data is written the pattern graphs of the matching patterns to generate code for.
Top
Methods
 NameDescription
Public methodFillInStaticSearchPlans Do the static search planning again so we can explain the search plan
Public methodGenerateAction(LGSPGraph, String, String, LGSPAction) Generate a new action for the given action, doing the same work, but hopefully faster by taking graph analysis information into account
Public methodGenerateAction(ScheduledSearchPlan, LGSPAction, String, String, String) Generates an LGSPAction object for the given scheduled search plan.
Public methodGenerateActionAndMatcher Generates the action interface plus action implementation including the matcher source code for the given rule pattern into the given source builder
Public methodGenerateActionAndMatcherOfAlternative Generates the action interface plus action implementation including the matcher source code for the given alternative into the given source builder
Public methodGenerateActionAndMatcherOfIterated Generates the action interface plus action implementation including the matcher source code for the given iterated pattern into the given source builder
Public methodGenerateActionAndMatcherOfNestedPatterns Generates the action interface plus action implementation including the matcher source code for the alternatives/iterateds nested within the given negative/independent pattern graph into the given source builder
Public methodGenerateActions Generate new actions for the given actions, doing the same work, but hopefully faster by taking graph analysis information into account
Public methodGenerateFileHeaderForActionsFile Generates file header for actions file into given source builer
Public methodGenerateMatcherClassHeadAlternative Generates matcher class head source code for the given alternative into given source builder isInitialStatic tells whether the initial static version or a dynamic version after analyze is to be generated.
Public methodGenerateMatcherClassHeadIterated Generates matcher class head source code for the given iterated pattern into given source builder isInitialStatic tells whether the initial static version or a dynamic version after analyze is to be generated.
Public methodGenerateMatcherClassHeadSubpattern Generates matcher class head source code for the subpattern of the rulePattern into given source builder isInitialStatic tells whether the initial static version or a dynamic version after analyze is to be generated.
Public methodGenerateMatcherClassTail Generates matcher class tail source code
Public methodGenerateScheduledSearchPlans Generates scheduled search plans needed for matcher code generation for action compilation out of graph with analyze information, The scheduled search plans are added to the main and the nested pattern graphs.
Public methodGetDynCompilerSetup Setup of compiler parameters for recompilation of actions at runtime taking care of analyze information
Public methodGetModel 
Public methodStatic memberSetNeedForProfiling(ExpressionOrYielding) 
Public methodStatic memberSetNeedForProfiling(PatternGraph) 
Top
Fields
 NameDescription
Public fieldCommentSourceCode If true, the generated matcher functions are commented to improve understanding the source code.
Public fieldDumpDynSourceCode If true, the source code of dynamically generated matcher functions are dumped to a file in the current directory.
Public fieldDumpSearchPlan If true, generated search plans are dumped in VCG and TXT files in the current directory.
Public fieldEmitDebugValidityChecks If true, validity checks are added at some places, to support debugging/developments.
Public fieldInlineIndependents If true, the independents are to be inlined
Public fieldLazyNegativeIndependentConditionEvaluation If true, the negatives, independents, and evaluations are inserted at the end of the schedule instead of as early as possible; this is likely less efficient but allows to use checks which require that they are only called after a structural match was found
Public fieldProfile If true, profiling information is to be collected, i.e. some statistics about search steps executed
Top
See Also