Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwpiers2010-03-05 15:38:35 +0000
committerwpiers2010-03-05 15:38:35 +0000
commita0fd9c610a336af13942f73a9fad35ff1d396996 (patch)
treeac02a5e0c3f097cc113c49d727a6f385a53c2589
parentf5f9cdc2166a3f1f726aa5d3eab2c4bea398747b (diff)
downloadorg.eclipse.atl-a0fd9c610a336af13942f73a9fad35ff1d396996.tar.gz
org.eclipse.atl-a0fd9c610a336af13942f73a9fad35ff1d396996.tar.xz
org.eclipse.atl-a0fd9c610a336af13942f73a9fad35ff1d396996.zip
added support for "in" keyword in output patterns
-rw-r--r--dsls/ACG/Compiler/ACG.acg7
-rw-r--r--dsls/ACG/Metamodel/ACG.km32
-rw-r--r--dsls/ACG/Syntax/ACG.tcs4
3 files changed, 13 insertions, 0 deletions
diff --git a/dsls/ACG/Compiler/ACG.acg b/dsls/ACG/Compiler/ACG.acg
index 7ecca917..b29b2a41 100644
--- a/dsls/ACG/Compiler/ACG.acg
+++ b/dsls/ACG/Compiler/ACG.acg
@@ -364,6 +364,13 @@ acg ACG startsWith ACG {
-- what is important is that it is unique, name cannot be guarranteed to be unique
}
+ code NewinStat {
+ getasm
+ get 'asmEmitter'
+ push 'newin'
+ call 'J.emitSimple(S):V'
+ }
+
code NewStat {
getasm
get 'asmEmitter'
diff --git a/dsls/ACG/Metamodel/ACG.km3 b/dsls/ACG/Metamodel/ACG.km3
index 9983f498..83f25e77 100644
--- a/dsls/ACG/Metamodel/ACG.km3
+++ b/dsls/ACG/Metamodel/ACG.km3
@@ -128,6 +128,8 @@ package ACG {
}
class NewStat extends EmitStat {}
+
+ class NewinStat extends EmitStat {}
class DupStat extends EmitStat {}
diff --git a/dsls/ACG/Syntax/ACG.tcs b/dsls/ACG/Syntax/ACG.tcs
index 3484ad6d..d3fa54ba 100644
--- a/dsls/ACG/Syntax/ACG.tcs
+++ b/dsls/ACG/Syntax/ACG.tcs
@@ -165,6 +165,10 @@ syntax ACG {
template NewStat
: "new"
;
+
+ template NewinStat
+ : "newin"
+ ;
template DupStat
: "dup"

Back to the top