User Tools

Site Tools


01_user_documentation:07_rgg_xl:03_query_graph:01_derivation

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
01_user_documentation:07_rgg_xl:03_query_graph:01_derivation [2025/11/21 11:54] gaetan01_user_documentation:07_rgg_xl:03_query_graph:01_derivation [2025/11/21 12:00] (current) gaetan
Line 3: Line 3:
 Rules of the XL programming language are executed when the control flow reaches them. The execution of a rule finds all matches of the left-hand side and, for each match, performs the statements of the right-hand side. Thus, for a producer implementation which constructs a parallel production, the control flow in the sense of relational growth grammars the family of all executed rules and applies each rule via every possible match in the current graph. This is a true parallel mode of derivation. The different derivation modes enable to use a different control flow. Rules of the XL programming language are executed when the control flow reaches them. The execution of a rule finds all matches of the left-hand side and, for each match, performs the statements of the right-hand side. Thus, for a producer implementation which constructs a parallel production, the control flow in the sense of relational growth grammars the family of all executed rules and applies each rule via every possible match in the current graph. This is a true parallel mode of derivation. The different derivation modes enable to use a different control flow.
  
-o choose the derivation mode, the class Graph (Model graph) of the base implementation provides the method setDerivationMode and a set of constants to use as argument, namely ''PARALLEL MODE'', ''PARALLEL NON DETERMINISTIC MODE'', ''SEQUENTIAL MODE'' and ''SEQUENTIAL NON DETERMINISTIC MODE''. These constants can be combined with two flags as modifiers, ''EXCLUDE DELETED FLAG'' and ''INTERPRETIVE FLAG'', as in  +======  ======
-''graph.setDerivationMode(PARALLEL_MODE | EXCLUDE_DELETED_FLAG);''  +
-This is also the default derivation mode. +
  
-The flag EXCLUDE DELETED FLAG is useful in combination with PARALLEL MODE to obtain a variant of the deter- +To choose the derivation mode, the class Graph (Model graph) of the base implementation provides the method setDerivationMode and a set of constants to use as argumentnamely  
-ministic parallel mode where a node is deleted at most once. Namelywhen the +  - ''PARALLEL MODE'' 
-execution of the right-hand side for a match leads to the deletion of node, +  - ''PARALLEL NON DETERMINISTIC MODE'' 
-this is remembered, and this node is excluded from the set of candidates for +  - ''SEQUENTIAL MODE'' 
-further matches by the mechanism described in Sect. 7.3.4 on page 199 (i. e.+  - ''SEQUENTIAL NON DETERMINISTIC MODE'' 
-the method excludeFromMatch of the query state returns true for such nodes). +These constants can be combined with two flags as modifiers: 
-In effect, this means that the first match which deletes a node is used and +  - ''EXCLUDE DELETED FLAG'' 
-all further possible matches are disabled. Concrete examples for all described +  - ''INTERPRETIVE FLAG'' 
-derivation modes can be found in Sect. 10.2.1 on page 278.+ 
 +The default derivation mode is : ''graph.setDerivationMode(PARALLEL_MODE | EXCLUDE_DELETED_FLAG);'' 
  
 ======  ====== ======  ======
  
 {{namespace>01_user_documentation:07_rgg_xl:03_query_graph:01_derivation}} {{namespace>01_user_documentation:07_rgg_xl:03_query_graph:01_derivation}}
01_user_documentation/07_rgg_xl/03_query_graph/01_derivation.1763722485.txt.gz · Last modified: 2025/11/21 11:54 by gaetan