(function(sc) {
"use strict";
require("./codegen");
var Token = sc.lang.compiler.Token;
var CodeGen = sc.lang.compiler.CodeGen;
CodeGen.addGenerateMethod("Literal", function(node) {
switch (node.valueType) {
case Token.IntegerLiteral:
return "$.Integer(" + node.value + ")";
case Token.FloatLiteral:
return "$.Float(" + node.value + ")";
case Token.CharLiteral:
return "$.Char('" + node.value + "')";
case Token.SymbolLiteral:
return "$.Symbol('" + node.value + "')";
case Token.StringLiteral:
return "$.String('" + node.value + "')";
case Token.TrueLiteral:
return "$.True()";
case Token.FalseLiteral:
return "$.False()";
}
return "$.Nil()";
});
})(sc);
|