User Tools

Site Tools


01_user_documentation:07_rgg_xl:02_xl:04_production:02_operator

This is an old revision of the document!


Operators

Each node expression is prefixed by an operator. Both together constitute a single production statement which passes the result of the node expression to the current producer. In the simplest case, node expressions are prefixed by whitespace only, which is an operator.

The list of available operator is defined in the XL specification. Operators have the same syntactical priority and are applied in the order in which they appear.

Common operator in RGG

Here is a list of some commonly used operator and their result in RGG:

Operator Example Result
Node Node Link the two nodes by a directed Successor edge
> Node > Node Link the two nodes by a directed Successor edge
+> Node +> Node Link the two nodes by a directed Branch edge
/> Node /> Node Link the two nodes by a directed Refinement edge
-e-> Node -5-> Node Link the two nodes by a directed edge with the edge bit of e

Note: all the operator above can be applied with their “reverse” form, in order to create a directed edge of the other direction. E.g. +> can be <+.

Custom operator

Example

The following production statement:

==> Node > Node;

is translated for the producer p as :

p.operator$whitespace(new Node()).operator$rt(new Node());
01_user_documentation/07_rgg_xl/02_xl/04_production/02_operator.1755686992.txt.gz · Last modified: 2025/08/20 12:49 by gaetan