├── .gitignore ├── .travis.yml ├── README.md ├── benchmarks ├── fibonacci.lua └── mandelbrot.lua ├── bin └── luatruffle ├── pom.xml └── src ├── main └── java │ └── org │ └── luatruffle │ └── main │ ├── Main.java │ ├── builtins │ ├── LuaOSClockBuiltin.java │ └── LuaPrintBuiltin.java │ ├── nodes │ ├── LuaBinaryNode.java │ ├── LuaBooleanConstantNode.java │ ├── LuaExpressionNode.java │ ├── LuaFunctionBodyNode.java │ ├── LuaLongConstantNode.java │ ├── LuaNode.java │ ├── LuaObjectConstantNode.java │ ├── LuaRootNode.java │ ├── LuaStatementNode.java │ ├── LuaTypes.java │ ├── LuaUnaryNode.java │ ├── call │ │ ├── LuaAbstractDispatchNode.java │ │ ├── LuaDirectDispatchNode.java │ │ ├── LuaFunctionCall.java │ │ ├── LuaGenericDispatchNode.java │ │ └── LuaUninitializedDispatchNode.java │ ├── expressions │ │ ├── LuaFunctionBody.java │ │ └── LuaFunctionNode.java │ ├── local │ │ ├── LuaReadArgumentNode.java │ │ ├── LuaReadLocalVariableNode.java │ │ └── LuaWriteLocalVariableNode.java │ ├── operations │ │ ├── arithmetic │ │ │ ├── LuaAddNode.java │ │ │ ├── LuaDivisionOperation.java │ │ │ ├── LuaExponentiationNode.java │ │ │ ├── LuaMultiplicationNode.java │ │ │ ├── LuaNegateNode.java │ │ │ └── LuaSubtractionNode.java │ │ └── relational │ │ │ ├── LuaEqualsNode.java │ │ │ ├── LuaGreaterOrEqualsNode.java │ │ │ ├── LuaGreaterThanNode.java │ │ │ ├── LuaLessOrEqualsNode.java │ │ │ └── LuaLessThanNode.java │ └── statements │ │ ├── LuaBlockNode.java │ │ ├── LuaBreakNode.java │ │ ├── LuaIfNode.java │ │ ├── LuaNopNode.java │ │ ├── LuaReturnNode.java │ │ ├── LuaWhileDoNode.java │ │ └── controlflow │ │ ├── LuaBreakException.java │ │ └── LuaReturnException.java │ ├── runtime │ ├── LuaContext.java │ ├── LuaFunction.java │ ├── LuaFunctionRegistry.java │ └── LuaNull.java │ └── translator │ └── Translator.java └── test ├── java └── org │ └── luatruffle │ └── main │ └── translator │ ├── ArithmeticOperatorsTest.java │ ├── BaseTranslatorTest.java │ ├── MethodDefinitionTest.java │ ├── RelationalOperators.java │ ├── TranslatorTest.java │ ├── ValueTypesTest.java │ └── VariablesTest.java └── resources ├── fibonacci.lua ├── functions.lua ├── ifthenelse.lua ├── numeric_for.lua ├── numeric_for2.lua ├── numeric_for3.lua └── numeric_for_dynamic.lua /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/.travis.yml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/README.md -------------------------------------------------------------------------------- /benchmarks/fibonacci.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/benchmarks/fibonacci.lua -------------------------------------------------------------------------------- /benchmarks/mandelbrot.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/benchmarks/mandelbrot.lua -------------------------------------------------------------------------------- /bin/luatruffle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/bin/luatruffle -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/Main.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/builtins/LuaOSClockBuiltin.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/builtins/LuaOSClockBuiltin.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/builtins/LuaPrintBuiltin.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/builtins/LuaPrintBuiltin.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/LuaBinaryNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/LuaBinaryNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/LuaBooleanConstantNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/LuaBooleanConstantNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/LuaExpressionNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/LuaExpressionNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/LuaFunctionBodyNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/LuaFunctionBodyNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/LuaLongConstantNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/LuaLongConstantNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/LuaNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/LuaNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/LuaObjectConstantNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/LuaObjectConstantNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/LuaRootNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/LuaRootNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/LuaStatementNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/LuaStatementNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/LuaTypes.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/LuaTypes.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/LuaUnaryNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/LuaUnaryNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/call/LuaAbstractDispatchNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/call/LuaAbstractDispatchNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/call/LuaDirectDispatchNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/call/LuaDirectDispatchNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/call/LuaFunctionCall.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/call/LuaFunctionCall.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/call/LuaGenericDispatchNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/call/LuaGenericDispatchNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/call/LuaUninitializedDispatchNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/call/LuaUninitializedDispatchNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/expressions/LuaFunctionBody.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/expressions/LuaFunctionBody.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/expressions/LuaFunctionNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/expressions/LuaFunctionNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/local/LuaReadArgumentNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/local/LuaReadArgumentNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/local/LuaReadLocalVariableNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/local/LuaReadLocalVariableNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/local/LuaWriteLocalVariableNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/local/LuaWriteLocalVariableNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/operations/arithmetic/LuaAddNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/operations/arithmetic/LuaAddNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/operations/arithmetic/LuaDivisionOperation.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/operations/arithmetic/LuaDivisionOperation.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/operations/arithmetic/LuaExponentiationNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/operations/arithmetic/LuaExponentiationNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/operations/arithmetic/LuaMultiplicationNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/operations/arithmetic/LuaMultiplicationNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/operations/arithmetic/LuaNegateNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/operations/arithmetic/LuaNegateNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/operations/arithmetic/LuaSubtractionNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/operations/arithmetic/LuaSubtractionNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/operations/relational/LuaEqualsNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/operations/relational/LuaEqualsNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/operations/relational/LuaGreaterOrEqualsNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/operations/relational/LuaGreaterOrEqualsNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/operations/relational/LuaGreaterThanNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/operations/relational/LuaGreaterThanNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/operations/relational/LuaLessOrEqualsNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/operations/relational/LuaLessOrEqualsNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/operations/relational/LuaLessThanNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/operations/relational/LuaLessThanNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/statements/LuaBlockNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/statements/LuaBlockNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/statements/LuaBreakNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/statements/LuaBreakNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/statements/LuaIfNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/statements/LuaIfNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/statements/LuaNopNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/statements/LuaNopNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/statements/LuaReturnNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/statements/LuaReturnNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/statements/LuaWhileDoNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/statements/LuaWhileDoNode.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/statements/controlflow/LuaBreakException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/statements/controlflow/LuaBreakException.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/nodes/statements/controlflow/LuaReturnException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/nodes/statements/controlflow/LuaReturnException.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/runtime/LuaContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/runtime/LuaContext.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/runtime/LuaFunction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/runtime/LuaFunction.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/runtime/LuaFunctionRegistry.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/runtime/LuaFunctionRegistry.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/runtime/LuaNull.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/runtime/LuaNull.java -------------------------------------------------------------------------------- /src/main/java/org/luatruffle/main/translator/Translator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/main/java/org/luatruffle/main/translator/Translator.java -------------------------------------------------------------------------------- /src/test/java/org/luatruffle/main/translator/ArithmeticOperatorsTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/test/java/org/luatruffle/main/translator/ArithmeticOperatorsTest.java -------------------------------------------------------------------------------- /src/test/java/org/luatruffle/main/translator/BaseTranslatorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/test/java/org/luatruffle/main/translator/BaseTranslatorTest.java -------------------------------------------------------------------------------- /src/test/java/org/luatruffle/main/translator/MethodDefinitionTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/test/java/org/luatruffle/main/translator/MethodDefinitionTest.java -------------------------------------------------------------------------------- /src/test/java/org/luatruffle/main/translator/RelationalOperators.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/test/java/org/luatruffle/main/translator/RelationalOperators.java -------------------------------------------------------------------------------- /src/test/java/org/luatruffle/main/translator/TranslatorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/test/java/org/luatruffle/main/translator/TranslatorTest.java -------------------------------------------------------------------------------- /src/test/java/org/luatruffle/main/translator/ValueTypesTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/test/java/org/luatruffle/main/translator/ValueTypesTest.java -------------------------------------------------------------------------------- /src/test/java/org/luatruffle/main/translator/VariablesTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/test/java/org/luatruffle/main/translator/VariablesTest.java -------------------------------------------------------------------------------- /src/test/resources/fibonacci.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/test/resources/fibonacci.lua -------------------------------------------------------------------------------- /src/test/resources/functions.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/test/resources/functions.lua -------------------------------------------------------------------------------- /src/test/resources/ifthenelse.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/test/resources/ifthenelse.lua -------------------------------------------------------------------------------- /src/test/resources/numeric_for.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/test/resources/numeric_for.lua -------------------------------------------------------------------------------- /src/test/resources/numeric_for2.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/test/resources/numeric_for2.lua -------------------------------------------------------------------------------- /src/test/resources/numeric_for3.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/test/resources/numeric_for3.lua -------------------------------------------------------------------------------- /src/test/resources/numeric_for_dynamic.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucasallan/LuaTruffle/HEAD/src/test/resources/numeric_for_dynamic.lua --------------------------------------------------------------------------------