khepri-compile
Advanced tools
Comparing version 0.5.5 to 0.5.6
/* | ||
* THIS FILE IS AUTO GENERATED FROM 'lib/builtin.kep' | ||
* THIS FILE IS AUTO GENERATED from 'lib/builtin.kep' | ||
* DO NOT EDIT | ||
*/ | ||
"use strict"; | ||
*/"use strict"; | ||
var ast_node = require("khepri-ast")["node"], | ||
@@ -12,2 +11,4 @@ setData = ast_node["setData"], | ||
ast_value = require("khepri-ast")["value"], | ||
__o = require("./ast"), | ||
getUid = __o["getUid"], | ||
builtins, definitions, member, unique = (function() { | ||
@@ -47,5 +48,5 @@ var x = 0; | ||
["--", "__minus"] | ||
].forEach((function(__o) { | ||
var xArg, op = __o[0], | ||
name = __o[1]; | ||
].forEach((function(__o0) { | ||
var xArg, op = __o0[0], | ||
name = __o0[1]; | ||
registerAliasedSymbol(op, name, ((xArg = identifier("x", unique())), ast_expression.FunctionExpression.create( | ||
@@ -105,5 +106,5 @@ null, null, ast_pattern.ArgumentsPattern.create(null, null, [ast_pattern.IdentifierPattern.create( | ||
["instanceof", "__instanceof"] | ||
].forEach((function(__o) { | ||
var op = __o[0], | ||
name = __o[1]; | ||
].forEach((function(__o0) { | ||
var op = __o0[0], | ||
name = __o0[1]; | ||
registerBinary(op, name, binaryOp(op)); | ||
@@ -114,5 +115,5 @@ })); | ||
["&&", "__and"] | ||
].forEach((function(__o) { | ||
var op = __o[0], | ||
name = __o[1]; | ||
].forEach((function(__o0) { | ||
var op = __o0[0], | ||
name = __o0[1]; | ||
registerBinary(op, name, (function(x, y) { | ||
@@ -140,5 +141,5 @@ return ast_expression.LogicalExpression.create(null, op, x, y); | ||
var x = identifier("x", unique()); | ||
return ast_expression.FunctionExpression.create(null, null, ast_pattern.ArgumentsPattern.create(null, null, [ | ||
ast_pattern.IdentifierPattern.create(null, x) | ||
]), ast_expression.CallExpression.create(null, f, [ast_expression.CallExpression.create(null, g, [x])])); | ||
return setData(ast_expression.FunctionExpression.create(null, null, ast_pattern.ArgumentsPattern.create(null, | ||
null, [ast_pattern.IdentifierPattern.create(null, x)]), ast_expression.CallExpression.create(null, | ||
f, [ast_expression.CallExpression.create(null, g, [x])])), "closure", [getUid(f), getUid(g)]); | ||
}); | ||
@@ -148,18 +149,19 @@ registerBinary("<\\", "__compose", singleCompose); | ||
var x0 = identifier("x", unique()); | ||
return ast_expression.FunctionExpression.create(null, null, ast_pattern.ArgumentsPattern.create(null, null, [ | ||
ast_pattern.IdentifierPattern.create(null, x0) | ||
]), ast_expression.CallExpression.create(null, y, [ast_expression.CallExpression.create(null, x, [x0])])); | ||
return setData(ast_expression.FunctionExpression.create(null, null, ast_pattern.ArgumentsPattern.create( | ||
null, null, [ast_pattern.IdentifierPattern.create(null, x0)]), ast_expression.CallExpression.create( | ||
null, y, [ast_expression.CallExpression.create(null, x, [x0])])), "closure", [getUid(y), getUid(x)]); | ||
})); | ||
var multiCompose = (function(f, g) { | ||
return ast_expression.FunctionExpression.create(null, null, ast_pattern.ArgumentsPattern.create(null, null, []), | ||
ast_expression.CallExpression.create(null, f, [ast_expression.CallExpression.create(null, ast_expression.MemberExpression | ||
.create(null, g, identifier("apply")), [ast_value.Literal.create(null, "null"), identifier( | ||
"arguments")])])); | ||
return setData(ast_expression.FunctionExpression.create(null, null, ast_pattern.ArgumentsPattern.create(null, | ||
null, []), ast_expression.CallExpression.create(null, f, [ast_expression.CallExpression.create(null, | ||
ast_expression.MemberExpression.create(null, g, identifier("apply")), [ast_value.Literal.create( | ||
null, "null"), identifier("arguments")])])), "closure", [getUid(f), getUid(g)]); | ||
}); | ||
registerBinary("<<\\", "__composen", multiCompose); | ||
registerBinary("\\>>", "__rcomposen", (function(x, y) { | ||
return ast_expression.FunctionExpression.create(null, null, ast_pattern.ArgumentsPattern.create(null, null, []), | ||
ast_expression.CallExpression.create(null, y, [ast_expression.CallExpression.create(null, | ||
ast_expression.MemberExpression.create(null, x, identifier("apply")), [ast_value.Literal.create( | ||
null, "null"), identifier("arguments")])])); | ||
return setData(ast_expression.FunctionExpression.create(null, null, ast_pattern.ArgumentsPattern.create( | ||
null, null, []), ast_expression.CallExpression.create(null, y, [ast_expression.CallExpression.create( | ||
null, ast_expression.MemberExpression.create(null, x, identifier("apply")), [ast_value.Literal | ||
.create(null, "null"), identifier("arguments") | ||
])])), "closure", [getUid(y), getUid(x)]); | ||
})); | ||
@@ -166,0 +168,0 @@ (member = (function(id, uid6) { |
/* | ||
* THIS FILE IS AUTO GENERATED FROM 'lib/compile.kep' | ||
* THIS FILE IS AUTO GENERATED from 'lib/compile.kep' | ||
* DO NOT EDIT | ||
*/ | ||
"use strict"; | ||
*/"use strict"; | ||
var Error = require("akh")["error"], | ||
@@ -33,3 +32,2 @@ __o = require("khepri-ast-zipper"), | ||
.chain(inline) | ||
.chain(reachable) | ||
.chain(khepri_peep) | ||
@@ -36,0 +34,0 @@ .chain(transform) |
@@ -30,4 +30,4 @@ /* | ||
}))))) : []); | ||
return ast_expression.LetExpression.create(null, concat((callee.bindings || []), bindings, argBinding), | ||
rename(uid, closure, target.body)); | ||
return ast_expression.LetExpression.create(null, concat(rename(uid, closure, (callee.bindings || [])), | ||
bindings, argBinding), rename(uid, closure, target.body)); | ||
})); | ||
@@ -41,6 +41,7 @@ (expandCurry = (function(uid, base, args) { | ||
(first && (((first.type === "IdentifierPattern") || (first.type === "AsPattern")) || (first.type === | ||
"ObjectPattern"))) ? ast_expression.LetExpression.create(null, concat((base.bindings || []), | ||
ast_declaration.Binding.create(null, rename(uid, closure, first), args[0])), body) : body))); | ||
"ObjectPattern"))) ? ast_expression.LetExpression.create(null, concat(rename(uid, closure, ( | ||
base.bindings || [])), ast_declaration.Binding.create(null, rename(uid, closure, | ||
first), args[0])), body) : body))); | ||
})); | ||
(exports["expandCallee"] = expandCallee); | ||
(exports["expandCurry"] = expandCurry); |
{ | ||
"name": "khepri-compile", | ||
"version": "0.5.5", | ||
"version": "0.5.6", | ||
"description": "Compiler for the Khepri programming language", | ||
@@ -5,0 +5,0 @@ "author": "Matt Bierner", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
258763
3410