<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://dokuwiki.grogra.de/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://dokuwiki.grogra.de/feed.php">
        <title>GroIMP wiki - 01_user_documentation:07_rgg_xl:02_xl</title>
        <description></description>
        <link>https://dokuwiki.grogra.de/</link>
        <image rdf:resource="https://dokuwiki.grogra.de/lib/exe/fetch.php?media=wiki:dokuwiki.svg" />
       <dc:date>2026-05-16T08:28:20+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:01_specification&amp;rev=1755602457&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:02_java&amp;rev=1756105903&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:03_query&amp;rev=1755692159&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:04_production&amp;rev=1755692872&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:05_rule&amp;rev=1756982091&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:08_object&amp;rev=1755678751&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:09_java_addition&amp;rev=1755678751&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:10_rgg_addition&amp;rev=1756106275&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:15_not_included&amp;rev=1755678751&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:20_compilation&amp;rev=1755678751&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://dokuwiki.grogra.de/lib/exe/fetch.php?media=wiki:dokuwiki.svg">
        <title>GroIMP wiki</title>
        <link>https://dokuwiki.grogra.de/</link>
        <url>https://dokuwiki.grogra.de/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
    </image>
    <item rdf:about="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:01_specification&amp;rev=1755602457&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-19T11:20:57+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>XL Language specification</title>
        <link>https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:01_specification&amp;rev=1755602457&amp;do=diff</link>
        <description>XL Language specification

The complete specification can be found at &lt;https://manual.grogra.de/de.grogra.xl/&gt;. Elements of this section highlight some parts of the specification used in other part of the wiki.



XL Operators

Exhaustive list of operators available in XL. The operators are grouped by horizontal lines, operators within one group share the same precedence. The exponentiation operator</description>
    </item>
    <item rdf:about="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:02_java&amp;rev=1756105903&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-25T07:11:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>XL and Java syntax</title>
        <link>https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:02_java&amp;rev=1756105903&amp;do=diff</link>
        <description>XL and Java syntax

The programming language XL is defined as an extension of the Java programming language. Thus the XL programming language benefits from the well-grounded concepts of structured, modular and object-oriented programming on which the Java programming is based. Being an extension not only at the level of the language specification, but also at the binary level, all existing Java libraries can be addressed immediately by XL programs. This introduces at once an enormous power, sinc…</description>
    </item>
    <item rdf:about="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:03_query&amp;rev=1755692159&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-20T12:15:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Query</title>
        <link>https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:03_query&amp;rev=1755692159&amp;do=diff</link>
        <description>Query

This section present queries.







Predicate

This section present the query predicates. (aka what you can put on the left hand side of rules). 



→ Read more...

Variables

Query variables are variables declared in a query. They are either explicitly (in a declaration) or implicitly declared. To be used manually, the variable need to be given an identifier. Indeed, all node pattern declare a query variable, used in the pattern matching, but only the one with an identifier are accessib…</description>
    </item>
    <item rdf:about="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:04_production&amp;rev=1755692872&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-20T12:27:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Production</title>
        <link>https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:04_production&amp;rev=1755692872&amp;do=diff</link>
        <description>Production

While left-hand sides of rules are specified by queries, right-hand sides consist of production statements which have a special syntax and are mostly defined by operator overloading. At the beginning of the outermost sequence of production statements (i. e., at the beginning of a right-hand side, of production statements within imperative code, or of an instantiation rule), the method</description>
    </item>
    <item rdf:about="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:05_rule&amp;rev=1756982091&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-04T10:34:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Rule</title>
        <link>https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:05_rule&amp;rev=1756982091&amp;do=diff</link>
        <description>Rule

In order to combine queries and production statements to rules, the XL programming language defines three arrow symbols ==&gt;, ==&gt;&gt; and ::&gt;. The first two are structural rules whose
right-hand sides consist of production statements which define a successor graph. The third one is an</description>
    </item>
    <item rdf:about="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:08_object&amp;rev=1755678751&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-20T08:32:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Additional objects</title>
        <link>https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:08_object&amp;rev=1755678751&amp;do=diff</link>
        <description>Additional objects

This section presents additional objects in the XL language.



Module

Modules are base nodes used in XL models. They extends Node by default, but can extend another object if specified. To be used in a project modules are classes defined with:</description>
    </item>
    <item rdf:about="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:09_java_addition&amp;rev=1755678751&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-20T08:32:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Additional features</title>
        <link>https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:09_java_addition&amp;rev=1755678751&amp;do=diff</link>
        <description>Additional features

Additional features in a java block 



For statement

The for statement is enhanced in XL. It can take two additional type of arguments: generators and DisposableIterators.

→ Read more...

Implicit conversions

It is possible to convert object and primitive into other objects implicitly. By default, the only implicit conversions enabled are the boxing and unboxing of primitive (e.g. from Integer to int) and RGG files also</description>
    </item>
    <item rdf:about="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:10_rgg_addition&amp;rev=1756106275&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-25T07:17:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Default additions</title>
        <link>https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:10_rgg_addition&amp;rev=1756106275&amp;do=diff</link>
        <description>Default additions

Every new RGG file also imports by default a set of library functions that are used to interact with the graph or the GroIMP platform. This functions can be explored in the function explorer in the software. You can find it on the main menu under &#039;Help/Function Browser&#039;.</description>
    </item>
    <item rdf:about="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:15_not_included&amp;rev=1755678751&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-20T08:32:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Not included</title>
        <link>https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:15_not_included&amp;rev=1755678751&amp;do=diff</link>
        <description>Not included

XL includes many syntax and features of Java. But not all. Essentially the language includes all Java 1.6.

Not included: &lt;type&gt;, lambda, ...



Generic type

Generic types are not supported by the XL compiler. However, the XL class loader can use the methods signatures with generic types. Thus, generics can be used from .jar, and groimp code in a project.</description>
    </item>
    <item rdf:about="https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:20_compilation&amp;rev=1755678751&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-20T08:32:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Project compilation</title>
        <link>https://dokuwiki.grogra.de/doku.php?id=01_user_documentation:07_rgg_xl:02_xl:20_compilation&amp;rev=1755678751&amp;do=diff</link>
        <description>Project compilation

The project is compiled. i.e. java classes are created from the sources.



Classes

The classes created during the compilation are stored in the registry under the path:
/classes

Byte array

The compiled classes are also stored as a bit array in the registry at the path:</description>
    </item>
</rdf:RDF>
