From 8be3005afb405fa510c41fdd593128cf40338d21 Mon Sep 17 00:00:00 2001 From: Esben Sorig Date: Fri, 25 Mar 2016 18:51:24 +0000 Subject: [PATCH] Meta-Language: Fix C# enum translation rule and uncaught bugs in translate.py --- examples/meta/generator/targets/csharp.json | 2 +- examples/meta/generator/translate.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/meta/generator/targets/csharp.json b/examples/meta/generator/targets/csharp.json index e418103213a..fd09cf7b7f5 100644 --- a/examples/meta/generator/targets/csharp.json +++ b/examples/meta/generator/targets/csharp.json @@ -48,7 +48,7 @@ "NumberLiteral": "$number", "MethodCall": "$object.$method($arguments)", "Identifier": "$identifier", - "Enum":"$value" + "Enum":"$type.$value" }, "Print": "Console.Write($expr)", "OutputDirectoryName": "csharp", diff --git a/examples/meta/generator/translate.py b/examples/meta/generator/translate.py index a9dfa1a1fde..497044efa67 100644 --- a/examples/meta/generator/translate.py +++ b/examples/meta/generator/translate.py @@ -302,7 +302,7 @@ def translateExpr(self, expr): # Add enum to dependencies in case they need to be imported explicitly self.dependencies["Enums"].add((expr[key][0]["Identifier"], expr[key][1]["Identifier"])) template = Template(self.targetDict["Expr"]["Enum"]) - return template.substitute(type=expr[key][0],value=expr[key][1]["Identifier"]) + return template.substitute(type=expr[key][0]["Identifier"],value=expr[key][1]["Identifier"]) raise Exception("Unknown expression type: " + key) @@ -394,4 +394,4 @@ def loadTargetDict(targetJsonPath): else: programObject = json.load(sys.stdin) - print(translate(programObject, targetDict)) + print(translate(programObject, targetDict, tags={}, storeVars=False))