• DoctypeDeclaration{http://etl.sf.net/etl/doctype/0.2.1}:
    • systemId: "../grammars/EJ.g.etl"
  • TopLevelClassifier{http://etl.sf.net/2006/samples/ej/0.1}:
    • classifier:
      • InterfaceStatement{http://etl.sf.net/2006/samples/ej/0.1}:
        • documentation:
          • DocumentationLine{http://etl.sf.net/2006/samples/ej/0.1}:
            • text: /// simple interface
        • visibilityModifier:
          • Modifier{http://etl.sf.net/2006/samples/ej/0.1}:
            • value: public
        • name:
          • Identifier{http://etl.sf.net/2006/samples/ej/0.1}:
            • value: Test
        • extendedTypes:
          • AccessOp{http://etl.sf.net/2006/samples/ej/0.1}:
            • accessed:
              • AccessOp{http://etl.sf.net/2006/samples/ej/0.1}:
                • accessed:
                  • Identifier{http://etl.sf.net/2006/samples/ej/0.1}:
                    • value: java
                • feature:
                  • Identifier{http://etl.sf.net/2006/samples/ej/0.1}:
                    • value: rmi
            • feature:
              • Identifier{http://etl.sf.net/2006/samples/ej/0.1}:
                • value: Remote
        • contents:
          • FieldStatement{http://etl.sf.net/2006/samples/ej/0.1}:
            • visibilityModifier:
              • Modifier{http://etl.sf.net/2006/samples/ej/0.1}:
                • value: public
            • finalModifier:
              • Modifier{http://etl.sf.net/2006/samples/ej/0.1}:
                • value: final
            • staticModifier:
              • Modifier{http://etl.sf.net/2006/samples/ej/0.1}:
                • value: static
            • classifier:
              • Identifier{http://etl.sf.net/2006/samples/ej/0.1}:
                • value: String
            • variables:
              • Variable{http://etl.sf.net/2006/samples/ej/0.1}:
                • name:
                  • Identifier{http://etl.sf.net/2006/samples/ej/0.1}:
                    • value: A_VALUE
                • initialValue:
                  • StringLiteral{http://etl.sf.net/2006/samples/ej/0.1}:
                    • value: "A_VALUE"
          • MethodStatement{http://etl.sf.net/2006/samples/ej/0.1}:
            • visibilityModifier:
              • Modifier{http://etl.sf.net/2006/samples/ej/0.1}:
                • value: public
            • returnType:
              • Identifier{http://etl.sf.net/2006/samples/ej/0.1}:
                • value: String
            • name:
              • Identifier{http://etl.sf.net/2006/samples/ej/0.1}:
                • value: process
            • parameters:
              • Parameter{http://etl.sf.net/2006/samples/ej/0.1}:
                • classifier:
                  • Identifier{http://etl.sf.net/2006/samples/ej/0.1}:
                    • value: String
                • name:
                  • Identifier{http://etl.sf.net/2006/samples/ej/0.1}:
                    • value: value
            • exceptions:
              • AccessOp{http://etl.sf.net/2006/samples/ej/0.1}:
                • accessed:
                  • AccessOp{http://etl.sf.net/2006/samples/ej/0.1}:
                    • accessed:
                      • Identifier{http://etl.sf.net/2006/samples/ej/0.1}:
                        • value: java
                    • feature:
                      • Identifier{http://etl.sf.net/2006/samples/ej/0.1}:
                        • value: rmi
                • feature:
                  • Identifier{http://etl.sf.net/2006/samples/ej/0.1}:
                    • value: Remote
  • TopLevelClassifier{http://etl.sf.net/2006/samples/ej/0.1}:
    • classifier:
      • InterfaceStatement{http://etl.sf.net/2006/samples/ej/0.1}:
        • documentation:
          • DocumentationLine{http://etl.sf.net/2006/samples/ej/0.1}:
            • text: /// a template interface
        • visibilityModifier:
          • Modifier{http://etl.sf.net/2006/samples/ej/0.1}:
            • value: public
        • name:
          • Identifier{http://etl.sf.net/2006/samples/ej/0.1}:
            • value: Pair
        • templateParameters:
          • TemplateParameter{http://etl.sf.net/2006/samples/ej/0.1}:
            • name:
              • Identifier{http://etl.sf.net/2006/samples/ej/0.1}:
                • value: T
        • contents:
          • MethodStatement{http://etl.sf.net/2006/samples/ej/0.1}:
            • returnType:
              • Identifier{http://etl.sf.net/2006/samples/ej/0.1}:
                • value: T
            • name:
              • Identifier{http://etl.sf.net/2006/samples/ej/0.1}:
                • value: getFirstValue
          • MethodStatement{http://etl.sf.net/2006/samples/ej/0.1}:
            • returnType:
              • Identifier{http://etl.sf.net/2006/samples/ej/0.1}:
                • value: T
            • name:
              • Identifier{http://etl.sf.net/2006/samples/ej/0.1}:
                • value: getSecondVAlue
     1: doctype "../grammars/EJ.g.etl";
     2: /// simple interface
     3: interface public Test extends java.rmi.Remote
     4: {
     5:   var public final static String A_VALUE = "A_VALUE";
     6:   to public String process(String value) throws java.rmi.Remote;
     7: };
     8: /// a template interface
     9: interface public Pair[T]
    10: {
    11:   to T getFirstValue();
    12:   to T getSecondVAlue();
    13: };