summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2020-09-09 11:11:21 +0200
committernsensfel <SpamShield0@noot-noot.org>2020-09-09 11:11:21 +0200
commit066fcb03884cfdb79b3ff3825064debeb9e73126 (patch)
tree7025176d1474e90c28a4649aa61b5a2bf57bd468
parentdd6d05fa12e64b133326695f6fa77d8e989d2610 (diff)
...
-rw-r--r--src/core/src/tonkadur/fate/v1/lang/computation/MapComputation.java2
-rw-r--r--src/core/src/tonkadur/fate/v1/lang/computation/RemoveAllOfElementComputation.java1
-rw-r--r--src/core/src/tonkadur/fate/v1/lang/computation/RemoveElementAtComputation.java98
-rw-r--r--src/core/src/tonkadur/fate/v1/lang/computation/RemoveElementComputation.java125
-rw-r--r--src/core/src/tonkadur/fate/v1/lang/computation/ReverseListComputation.java62
-rw-r--r--src/core/src/tonkadur/fate/v1/lang/computation/ShuffleComputation.java60
-rw-r--r--src/core/src/tonkadur/fate/v1/lang/meta/InstructionVisitor.java3
-rw-r--r--src/core/src/tonkadur/fate/v1/parser/FateParser.g477
8 files changed, 114 insertions, 314 deletions
diff --git a/src/core/src/tonkadur/fate/v1/lang/computation/MapComputation.java b/src/core/src/tonkadur/fate/v1/lang/computation/MapComputation.java
index 9ca1042..d042dd0 100644
--- a/src/core/src/tonkadur/fate/v1/lang/computation/MapComputation.java
+++ b/src/core/src/tonkadur/fate/v1/lang/computation/MapComputation.java
@@ -10,8 +10,8 @@ import tonkadur.fate.v1.lang.type.CollectionType;
import tonkadur.fate.v1.lang.instruction.Map;
-import tonkadur.fate.v1.lang.meta.Computation;
import tonkadur.fate.v1.lang.meta.ComputationVisitor;
+import tonkadur.fate.v1.lang.meta.Computation;
import tonkadur.fate.v1.lang.meta.Reference;
public class MapComputation extends Computation
diff --git a/src/core/src/tonkadur/fate/v1/lang/computation/RemoveAllOfElementComputation.java b/src/core/src/tonkadur/fate/v1/lang/computation/RemoveAllOfElementComputation.java
index dc6bdf5..fb6b9da 100644
--- a/src/core/src/tonkadur/fate/v1/lang/computation/RemoveAllOfElementComputation.java
+++ b/src/core/src/tonkadur/fate/v1/lang/computation/RemoveAllOfElementComputation.java
@@ -10,7 +10,6 @@ import tonkadur.fate.v1.lang.instruction.RemoveAllOfElement;
import tonkadur.fate.v1.lang.meta.ComputationVisitor;
import tonkadur.fate.v1.lang.meta.Computation;
-import tonkadur.fate.v1.lang.meta.Computation;
import tonkadur.fate.v1.lang.meta.Reference;
public class RemoveAllOfElementComputation extends Computation
diff --git a/src/core/src/tonkadur/fate/v1/lang/computation/RemoveElementAtComputation.java b/src/core/src/tonkadur/fate/v1/lang/computation/RemoveElementAtComputation.java
index 3bf0104..42e61b7 100644
--- a/src/core/src/tonkadur/fate/v1/lang/computation/RemoveElementAtComputation.java
+++ b/src/core/src/tonkadur/fate/v1/lang/computation/RemoveElementAtComputation.java
@@ -1,50 +1,43 @@
-package tonkadur.fate.v1.lang.instruction;
-
-import tonkadur.error.ErrorManager;
+package tonkadur.fate.v1.lang.computation;
import tonkadur.parser.Origin;
+import tonkadur.fate.v1.error.ConflictingTypeException;
import tonkadur.fate.v1.error.IncomparableTypeException;
import tonkadur.fate.v1.error.InvalidTypeException;
-import tonkadur.fate.v1.lang.type.CollectionType;
-import tonkadur.fate.v1.lang.type.Type;
+import tonkadur.fate.v1.lang.instruction.RemoveElementAt;
-import tonkadur.fate.v1.lang.meta.InstructionVisitor;
-import tonkadur.fate.v1.lang.meta.Instruction;
+import tonkadur.fate.v1.lang.meta.ComputationVisitor;
import tonkadur.fate.v1.lang.meta.Computation;
import tonkadur.fate.v1.lang.meta.Reference;
-public class RemoveElementAt extends Instruction
+public class RemoveElementAt extends Computation
{
/***************************************************************************/
/**** MEMBERS **************************************************************/
/***************************************************************************/
- protected final Computation index;
- protected final Reference collection;
+ protected final RemoveElementAt instruction;
/***************************************************************************/
/**** PROTECTED ************************************************************/
/***************************************************************************/
/**** Constructors *********************************************************/
- protected RemoveElementAt
+ protected RemoveElementAtComputation
(
- final Origin origin,
- final Computation index,
- final Reference collection
+ final RemoveElementAt instruction
)
{
- super(origin);
+ super(instruction.get_origin(), instruction.get_collection().get_type());
- this.collection = collection;
- this.index = index;
+ this.instruction = instruction;
}
/***************************************************************************/
/**** PUBLIC ***************************************************************/
/***************************************************************************/
/**** Constructors *********************************************************/
- public static RemoveElementAt build
+ public static RemoveElementAtComputation build
(
final Origin origin,
final Computation index,
@@ -54,63 +47,24 @@ public class RemoveElementAt extends Instruction
InvalidTypeException,
IncomparableTypeException
{
- final Type collection_type, hint;
-
- collection_type = collection.get_type();
-
- if (!(collection_type instanceof CollectionType))
- {
- ErrorManager.handle
+ return
+ new RemoveElementAtComputation
(
- new InvalidTypeException
- (
- collection.get_origin(),
- collection.get_type(),
- Type.COLLECTION_TYPES
- )
+ RemoveElementAt.build(origin, index, collection)
);
- }
-
- if (index.get_type().can_be_used_as(Type.INT))
- {
- return new RemoveElementAt(origin, index, collection);
- }
-
- hint =
- (Type) index.get_type().generate_comparable_to(Type.INT);
-
- if (hint.equals(Type.ANY))
- {
- ErrorManager.handle
- (
- new IncomparableTypeException
- (
- index.get_origin(),
- index.get_type(),
- Type.INT
- )
- );
- }
-
- return new RemoveElementAt(origin, index, collection);
}
/**** Accessors ************************************************************/
@Override
- public void get_visited_by (final InstructionVisitor iv)
+ public void get_visited_by (final ComputationVisitor cv)
throws Throwable
{
- iv.visit_remove_element_at(this);
- }
-
- public Computation get_index ()
- {
- return index;
+ cv.visit_remove_element_at(this);
}
- public Reference get_collection ()
+ public RemoveElementAt get_instruction ()
{
- return collection;
+ return instruction;
}
/**** Misc. ****************************************************************/
@@ -119,20 +73,8 @@ public class RemoveElementAt extends Instruction
{
final StringBuilder sb = new StringBuilder();
- sb.append(origin.toString());
- sb.append("(RemoveElementAt");
- sb.append(System.lineSeparator());
- sb.append(System.lineSeparator());
-
- sb.append("index:");
- sb.append(System.lineSeparator());
- sb.append(index.toString());
- sb.append(System.lineSeparator());
- sb.append(System.lineSeparator());
-
- sb.append("collection:");
- sb.append(System.lineSeparator());
- sb.append(collection.toString());
+ sb.append("(ComputationOf ");
+ sb.append(instruction.toString());
sb.append(")");
diff --git a/src/core/src/tonkadur/fate/v1/lang/computation/RemoveElementComputation.java b/src/core/src/tonkadur/fate/v1/lang/computation/RemoveElementComputation.java
index d721614..e3acd4b 100644
--- a/src/core/src/tonkadur/fate/v1/lang/computation/RemoveElementComputation.java
+++ b/src/core/src/tonkadur/fate/v1/lang/computation/RemoveElementComputation.java
@@ -1,6 +1,4 @@
-package tonkadur.fate.v1.lang.instruction;
-
-import tonkadur.error.ErrorManager;
+package tonkadur.fate.v1.lang.computation;
import tonkadur.parser.Origin;
@@ -8,134 +6,65 @@ import tonkadur.fate.v1.error.ConflictingTypeException;
import tonkadur.fate.v1.error.IncomparableTypeException;
import tonkadur.fate.v1.error.InvalidTypeException;
-import tonkadur.fate.v1.lang.type.CollectionType;
-import tonkadur.fate.v1.lang.type.Type;
+import tonkadur.fate.v1.lang.instruction.RemoveElement;
-import tonkadur.fate.v1.lang.meta.InstructionVisitor;
-import tonkadur.fate.v1.lang.meta.Instruction;
+import tonkadur.fate.v1.lang.meta.ComputationVisitor;
import tonkadur.fate.v1.lang.meta.Computation;
+import tonkadur.fate.v1.lang.meta.Reference;
-public class RemoveElement extends Instruction
+public class RemoveElementComputation extends Computation
{
/***************************************************************************/
/**** MEMBERS **************************************************************/
/***************************************************************************/
- protected final Computation element;
- protected final Computation collection;
+ protected final RemoveElement instruction;
/***************************************************************************/
/**** PROTECTED ************************************************************/
/***************************************************************************/
/**** Constructors *********************************************************/
- protected RemoveElement
+ protected RemoveElementComputation
(
- final Origin origin,
- final Computation element,
- final Computation collection
+ final RemoveElement instruction
)
{
- super(origin);
+ super(instruction.get_origin(), instruction.get_collection().get_type());
- this.collection = collection;
- this.element = element;
+ this.instruction = instruction;
}
-
/***************************************************************************/
/**** PUBLIC ***************************************************************/
/***************************************************************************/
/**** Constructors *********************************************************/
- public static RemoveElement build
+ public static RemoveElementComputation build
(
final Origin origin,
final Computation element,
- final Computation collection
+ final Reference collection
)
throws
InvalidTypeException,
ConflictingTypeException,
IncomparableTypeException
{
- final Type hint;
- final Type collection_type;
- final CollectionType collection_true_type;
- final Type collection_element_type;
-
- collection_type = collection.get_type();
-
- if (!(collection_type instanceof CollectionType))
- {
- ErrorManager.handle
- (
- new InvalidTypeException
- (
- collection.get_origin(),
- collection.get_type(),
- Type.COLLECTION_TYPES
- )
- );
- }
-
- collection_true_type = (CollectionType) collection_type;
- collection_element_type = collection_true_type.get_content_type();
-
- if
- (
- element.get_type().can_be_used_as(collection_element_type)
- ||
- (element.get_type().try_merging_with(collection_element_type) != null)
- )
- {
- return new RemoveElement(origin, element, collection);
- }
-
- ErrorManager.handle
- (
- new ConflictingTypeException
+ return
+ new RemoveElementComputation
(
- element.get_origin(),
- element.get_type(),
- collection_element_type
- )
- );
-
- hint =
- (Type) element.get_type().generate_comparable_to
- (
- collection_element_type
- );
-
- if (hint.equals(Type.ANY))
- {
- ErrorManager.handle
- (
- new IncomparableTypeException
- (
- element.get_origin(),
- element.get_type(),
- collection_element_type
- )
+ RemoveElement.build(origin, element, collection)
);
- }
-
- return new RemoveElement(origin, element, collection);
}
/**** Accessors ************************************************************/
@Override
- public void get_visited_by (final InstructionVisitor iv)
+ public void get_visited_by (final ComputationVisitor cv)
throws Throwable
{
- iv.visit_remove_element(this);
+ cv.visit_remove_element(this);
}
- public Computation get_element ()
+ public RemoveElement get_instruction ()
{
- return element;
- }
-
- public Computation get_collection ()
- {
- return collection;
+ return instruction;
}
/**** Misc. ****************************************************************/
@@ -144,20 +73,8 @@ public class RemoveElement extends Instruction
{
final StringBuilder sb = new StringBuilder();
- sb.append(origin.toString());
- sb.append("(RemoveElement");
- sb.append(System.lineSeparator());
- sb.append(System.lineSeparator());
-
- sb.append("element:");
- sb.append(System.lineSeparator());
- sb.append(element.toString());
- sb.append(System.lineSeparator());
- sb.append(System.lineSeparator());
-
- sb.append("collection:");
- sb.append(System.lineSeparator());
- sb.append(collection.toString());
+ sb.append("(ComputationOf ");
+ sb.append(instruction.toString());
sb.append(")");
diff --git a/src/core/src/tonkadur/fate/v1/lang/computation/ReverseListComputation.java b/src/core/src/tonkadur/fate/v1/lang/computation/ReverseListComputation.java
index 59a68e6..e5b6958 100644
--- a/src/core/src/tonkadur/fate/v1/lang/computation/ReverseListComputation.java
+++ b/src/core/src/tonkadur/fate/v1/lang/computation/ReverseListComputation.java
@@ -1,88 +1,60 @@
-package tonkadur.fate.v1.lang.instruction;
-
-import java.util.Collections;
-
-import tonkadur.error.ErrorManager;
+package tonkadur.fate.v1.lang.computation;
import tonkadur.parser.Origin;
import tonkadur.fate.v1.error.InvalidTypeException;
-import tonkadur.fate.v1.lang.type.CollectionType;
-import tonkadur.fate.v1.lang.type.Type;
+import tonkadur.fate.v1.lang.instruction.ReverseList;
-import tonkadur.fate.v1.lang.meta.InstructionVisitor;
-import tonkadur.fate.v1.lang.meta.Instruction;
+import tonkadur.fate.v1.lang.meta.ComputationVisitor;
import tonkadur.fate.v1.lang.meta.Computation;
-public class ReverseList extends Instruction
+public class ReverseListComputation extends Computation
{
/***************************************************************************/
/**** MEMBERS **************************************************************/
/***************************************************************************/
- protected final Computation collection;
+ protected final ReverseList instruction;
/***************************************************************************/
/**** PROTECTED ************************************************************/
/***************************************************************************/
/**** Constructors *********************************************************/
- protected ReverseList
+ protected ReverseListComputation
(
- final Origin origin,
- final Computation collection
+ final ReverseList instruction
)
{
- super(origin);
+ super(instruction.get_origin(), instruction.get_collection().get_type());
- this.collection = collection;
+ this.instruction = instruction;
}
/***************************************************************************/
/**** PUBLIC ***************************************************************/
/***************************************************************************/
/**** Constructors *********************************************************/
- public static ReverseList build
+ public static ReverseListComputation build
(
final Origin origin,
final Computation collection
)
throws InvalidTypeException
{
- final Type t;
-
- t = collection.get_type();
-
- if
- (
- !(t instanceof CollectionType)
- || ((CollectionType) t).is_set()
- )
- {
- ErrorManager.handle
- (
- new InvalidTypeException
- (
- collection.get_origin(),
- collection.get_type(),
- Collections.singleton(Type.LIST)
- )
- );
- }
-
- return new ReverseList(origin, collection);
+ return new ReverseListComputation(Shuffe.build(origin, collection));
}
/**** Accessors ************************************************************/
@Override
- public void get_visited_by (final InstructionVisitor iv)
+ public void get_visited_by (final ComputationVisitor cv)
throws Throwable
{
- iv.visit_reverse_list(this);
+ cv.visit_reverse_list(this);
}
- public Computation get_collection ()
+ public ReverseList get_instruction ()
{
- return collection;
+ return instruction;
}
/**** Misc. ****************************************************************/
@@ -91,8 +63,8 @@ public class ReverseList extends Instruction
{
final StringBuilder sb = new StringBuilder();
- sb.append("(ReverseList ");
- sb.append(collection.toString());
+ sb.append("(ComputationOf ");
+ sb.append(instruction.toString());
sb.append(")");
diff --git a/src/core/src/tonkadur/fate/v1/lang/computation/ShuffleComputation.java b/src/core/src/tonkadur/fate/v1/lang/computation/ShuffleComputation.java
index ebac30e..d40bdc0 100644
--- a/src/core/src/tonkadur/fate/v1/lang/computation/ShuffleComputation.java
+++ b/src/core/src/tonkadur/fate/v1/lang/computation/ShuffleComputation.java
@@ -1,40 +1,33 @@
-package tonkadur.fate.v1.lang.instruction;
-
-import java.util.Collections;
-
-import tonkadur.error.ErrorManager;
+package tonkadur.fate.v1.lang.computation;
import tonkadur.parser.Origin;
import tonkadur.fate.v1.error.InvalidTypeException;
-import tonkadur.fate.v1.lang.type.CollectionType;
-import tonkadur.fate.v1.lang.type.Type;
+import tonkadur.fate.v1.lang.instruction.Shuffle;
-import tonkadur.fate.v1.lang.meta.InstructionVisitor;
-import tonkadur.fate.v1.lang.meta.Instruction;
+import tonkadur.fate.v1.lang.meta.ComputationVisitor;
import tonkadur.fate.v1.lang.meta.Computation;
-public class Shuffle extends Instruction
+public class ShuffleComputation extends Computation
{
/***************************************************************************/
/**** MEMBERS **************************************************************/
/***************************************************************************/
- protected final Computation collection;
+ protected final Shuffle instruction;
/***************************************************************************/
/**** PROTECTED ************************************************************/
/***************************************************************************/
/**** Constructors *********************************************************/
- protected Shuffle
+ protected ShuffleComputation
(
- final Origin origin,
- final Computation collection
+ final Shuffle instruction
)
{
- super(origin);
+ super(instruction.get_origin(), instruction.get_collection().get_type());
- this.collection = collection;
+ this.instruction = instruction;
}
/***************************************************************************/
@@ -48,41 +41,20 @@ public class Shuffle extends Instruction
)
throws InvalidTypeException
{
- final Type t;
-
- t = collection.get_type();
-
- if
- (
- !(t instanceof CollectionType)
- || ((CollectionType) t).is_set()
- )
- {
- ErrorManager.handle
- (
- new InvalidTypeException
- (
- collection.get_origin(),
- collection.get_type(),
- Collections.singleton(Type.LIST)
- )
- );
- }
-
- return new Shuffle(origin, collection);
+ return new ShuffleComputation(Shuffe.build(origin, collection));
}
/**** Accessors ************************************************************/
@Override
- public void get_visited_by (final InstructionVisitor iv)
+ public void get_visited_by (final ComputationVisitor cv)
throws Throwable
{
- iv.visit_shuffle(this);
+ cv.visit_shuffle(this);
}
- public Computation get_collection ()
+ public Shuffle get_instruction ()
{
- return collection;
+ return instruction;
}
/**** Misc. ****************************************************************/
@@ -91,8 +63,8 @@ public class Shuffle extends Instruction
{
final StringBuilder sb = new StringBuilder();
- sb.append("(Shuffle ");
- sb.append(collection.toString());
+ sb.append("(ComputationOf ");
+ sb.append(instruction.toString());
sb.append(")");
diff --git a/src/core/src/tonkadur/fate/v1/lang/meta/InstructionVisitor.java b/src/core/src/tonkadur/fate/v1/lang/meta/InstructionVisitor.java
index 01ff4a4..9a18682 100644
--- a/src/core/src/tonkadur/fate/v1/lang/meta/InstructionVisitor.java
+++ b/src/core/src/tonkadur/fate/v1/lang/meta/InstructionVisitor.java
@@ -50,9 +50,6 @@ public interface InstructionVisitor
public void visit_map (final Map c)
throws Throwable;
- public void visit_range (final Range c)
- throws Throwable;
-
public void visit_shuffle (final Shuffle c)
throws Throwable;
diff --git a/src/core/src/tonkadur/fate/v1/parser/FateParser.g4 b/src/core/src/tonkadur/fate/v1/parser/FateParser.g4
index a94736d..1e0c245 100644
--- a/src/core/src/tonkadur/fate/v1/parser/FateParser.g4
+++ b/src/core/src/tonkadur/fate/v1/parser/FateParser.g4
@@ -585,8 +585,8 @@ returns [Instruction result]
(
CONTEXT.get_origin_at
(
- ($ADD_KW.getLine()),
- ($ADD_KW.getCharPositionInLine())
+ ($IMP_ADD_KW.getLine()),
+ ($IMP_ADD_KW.getCharPositionInLine())
),
($value.result),
($value_reference.result)
@@ -600,8 +600,8 @@ returns [Instruction result]
(
CONTEXT.get_origin_at
(
- ($ADD_AT_KW.getLine()),
- ($ADD_AT_KW.getCharPositionInLine())
+ ($IMP_ADD_AT_KW.getLine()),
+ ($IMP_ADD_AT_KW.getCharPositionInLine())
),
($index.result),
($element.result),
@@ -619,8 +619,8 @@ returns [Instruction result]
(
CONTEXT.get_origin_at
(
- ($ADD_ALL_KW.getLine()),
- ($ADD_ALL_KW.getCharPositionInLine())
+ ($IMP_ADD_ALL_KW.getLine()),
+ ($IMP_ADD_ALL_KW.getCharPositionInLine())
),
($source.result),
($target.result)
@@ -669,8 +669,8 @@ returns [Instruction result]
(
CONTEXT.get_origin_at
(
- ($REMOVE_ONE_KW.getLine()),
- ($REMOVE_ONE_KW.getCharPositionInLine())
+ ($IMP_REMOVE_ONE_KW.getLine()),
+ ($IMP_REMOVE_ONE_KW.getCharPositionInLine())
),
($value.result),
($value_reference.result)
@@ -687,8 +687,8 @@ returns [Instruction result]
(
CONTEXT.get_origin_at
(
- ($REMOVE_AT_KW.getLine()),
- ($REMOVE_AT_KW.getCharPositionInLine())
+ ($IMP_REMOVE_AT_KW.getLine()),
+ ($IMP_REMOVE_AT_KW.getCharPositionInLine())
),
($value.result),
($value_reference.result)
@@ -705,8 +705,8 @@ returns [Instruction result]
(
CONTEXT.get_origin_at
(
- ($REMOVE_ALL_KW.getLine()),
- ($REMOVE_ALL_KW.getCharPositionInLine())
+ ($IMP_REMOVE_ALL_KW.getLine()),
+ ($IMP_REMOVE_ALL_KW.getCharPositionInLine())
),
($value.result),
($value_reference.result)
@@ -734,8 +734,8 @@ returns [Instruction result]
(
CONTEXT.get_origin_at
(
- ($REVERSE_KW.getLine()),
- ($REVERSE_KW.getCharPositionInLine())
+ ($IMP_REVERSE_KW.getLine()),
+ ($IMP_REVERSE_KW.getCharPositionInLine())
),
($value_reference.result)
);
@@ -752,8 +752,8 @@ returns [Instruction result]
(
CONTEXT.get_origin_at
(
- ($MAP_KW.getLine()),
- ($MAP_KW.getCharPositionInLine())
+ ($IMP_MAP_KW.getLine()),
+ ($IMP_MAP_KW.getCharPositionInLine())
),
($value.result),
($inr.result),
@@ -772,8 +772,8 @@ returns [Instruction result]
(
CONTEXT.get_origin_at
(
- ($INDEXED_MAP_KW.getLine()),
- ($INDEXED_MAP_KW.getCharPositionInLine())
+ ($IMP_INDEXED_MAP_KW.getLine()),
+ ($IMP_INDEXED_MAP_KW.getCharPositionInLine())
),
($value.result),
($inr.result),
@@ -795,8 +795,8 @@ returns [Instruction result]
(
CONTEXT.get_origin_at
(
- ($MERGE_KW.getLine()),
- ($MERGE_KW.getCharPositionInLine())
+ ($IMP_MERGE_KW.getLine()),
+ ($IMP_MERGE_KW.getCharPositionInLine())
),
($fun.result),
($init.result),
@@ -821,8 +821,8 @@ returns [Instruction result]
(
CONTEXT.get_origin_at
(
- ($MERGE_KW.getLine()),
- ($MERGE_KW.getCharPositionInLine())
+ ($IMP_MERGE_KW.getLine()),
+ ($IMP_MERGE_KW.getCharPositionInLine())
),
($fun.result),
($init.result),
@@ -846,8 +846,8 @@ returns [Instruction result]
(
CONTEXT.get_origin_at
(
- ($SUB_LIST_KW.getLine()),
- ($SUB_LIST_KW.getCharPositionInLine())
+ ($IMP_SUB_LIST_KW.getLine()),
+ ($IMP_SUB_LIST_KW.getCharPositionInLine())
),
($vstart.result),
($vend.result),
@@ -863,8 +863,8 @@ returns [Instruction result]
(
CONTEXT.get_origin_at
(
- ($FILTER_KW.getLine()),
- ($FILTER_KW.getCharPositionInLine())
+ ($IMP_FILTER_KW.getLine()),
+ ($IMP_FILTER_KW.getCharPositionInLine())
),
($value.result),
($value_reference.result)
@@ -882,8 +882,8 @@ returns [Instruction result]
(
CONTEXT.get_origin_at
(
- ($PARTITION_KW.getLine()),
- ($PARTITION_KW.getCharPositionInLine())
+ ($IMP_PARTITION_KW.getLine()),
+ ($IMP_PARTITION_KW.getCharPositionInLine())
),
($value.result),
($iftrue.result),
@@ -898,8 +898,8 @@ returns [Instruction result]
(
CONTEXT.get_origin_at
(
- ($SORT_KW.getLine()),
- ($SORT_KW.getCharPositionInLine())
+ ($IMP_SORT_KW.getLine()),
+ ($IMP_SORT_KW.getCharPositionInLine())
),
($value.result),
($value_reference.result)
@@ -914,8 +914,8 @@ returns [Instruction result]
(
CONTEXT.get_origin_at
(
- ($SHUFFLE_KW.getLine()),
- ($SHUFFLE_KW.getCharPositionInLine())
+ ($IMP_SHUFFLE_KW.getLine()),
+ ($IMP_SHUFFLE_KW.getCharPositionInLine())
),
($value_reference.result)
);
@@ -952,14 +952,15 @@ returns [Instruction result]
| IMP_SET_FIELDS_KW value_reference WS* field_value_list WS* R_PAREN
{
+ /* FIXME: this should be a true Fate construct. */
final Origin origin;
final List<Instruction> operations;
origin =
CONTEXT.get_origin_at
(
- ($SET_FIELDS_KW.getLine()),
- ($SET_FIELDS_KW.getCharPositionInLine())
+ ($IMP_SET_FIELDS_KW.getLine()),
+ ($IMP_SET_FIELDS_KW.getCharPositionInLine())
);
operations = new ArrayList<Instruction>();
@@ -3269,8 +3270,8 @@ returns [Computation result]
}
| ADD_ALL_KW
- source=value_reference WS+
- target=value_reference WS*
+ sourcer=value_reference WS+
+ targetr=value_reference WS*
R_PAREN
{
$result =
@@ -3281,8 +3282,8 @@ returns [Computation result]
($ADD_ALL_KW.getLine()),
($ADD_ALL_KW.getCharPositionInLine())
),
- ($source.result),
- ($target.result)
+ ($sourcer.result),
+ ($targetr.result)
);
}