From 49f1eb3d08caf7605046373b7b3a001f28aa8aab Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Thu, 14 Jun 2018 22:17:26 -0700 Subject: Reshuffling some files. --- core/io.nom | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 core/io.nom (limited to 'core/io.nom') diff --git a/core/io.nom b/core/io.nom new file mode 100644 index 0000000..4f12e57 --- /dev/null +++ b/core/io.nom @@ -0,0 +1,20 @@ +# + This file contains basic input/output code + +use "core/metaprogramming.nom" + +compile [say %message] to + lua> ".." + if \%message.type == "Text" then + return Lua(tree.source, "io.write(", \(%message as lua expr), ", '\\\\n');"); + else + return Lua(tree.source, "io.write(tostring(", \(%message as lua expr), "), '\\\\n');"); + end + +compile [ask %prompt] to + lua> ".." + if \%prompt.type == "Text" then + return Lua.Value(tree.source, "(io.write(", \(%prompt as lua expr), ") and io.read())"); + else + return Lua.Value(tree.source, "(io.write(tostring(", \(%prompt as lua expr), ")) and io.read())"); + end -- cgit v1.2.3