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.2
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