removed global variables
diff --git a/metalua.lua b/metalua.lua
index 4641380..eee8e6e 100644
--- a/metalua.lua
+++ b/metalua.lua
@@ -17,6 +17,13 @@
--
-------------------------------------------------------------------------------
+---
+-- Main executable script.
+-- Compiles, interprets, prints source files, runs an interactive shell,
+-- depending on command-line options.
+--
+-- @module metalua
+
-- Survive lack of checks
if not pcall(require, 'checks') then function package.preload.checks() function checks() end end end
diff --git a/metalua/compiler.lua b/metalua/compiler.lua
index 69cd7b2..202b254 100644
--- a/metalua/compiler.lua
+++ b/metalua/compiler.lua
@@ -38,7 +38,7 @@
--
--------------------------------------------------------------------------------
-require 'checks'
+local checks = require 'checks'
local M = { }
diff --git a/metalua/compiler/ast_to_src.mlua b/metalua/compiler/ast_to_src.mlua
index 65283c6..9054088 100644
--- a/metalua/compiler/ast_to_src.mlua
+++ b/metalua/compiler/ast_to_src.mlua
@@ -392,7 +392,7 @@
self:list (rhs, ", ")
end
else -- Can't create a local statement with 0 variables in plain Lua
- self:acc (table.tostring (node, 'nohash', 80))
+ self:acc (pp.tostring (node, {metalua_tag=1, hide_hash=1, fix_indent=2}))
end
end
@@ -415,7 +415,7 @@
-- Other localrec are unprintable ==> splice them --
-- This cannot happen in a plain Lua AST. --
self:acc "-{ "
- self:acc (table.tostring (node, 'nohash', 80))
+ self:acc (pp.tostring (node, {metalua_tag=1, hide_hash=1, fix_indent=2}))
self:acc " }"
end
end
diff --git a/metalua/compiler/parser/annot/generator.lua b/metalua/compiler/parser/annot/generator.lua
index a8fcd62..3a805ad 100644
--- a/metalua/compiler/parser/annot/generator.lua
+++ b/metalua/compiler/parser/annot/generator.lua
@@ -17,7 +17,7 @@
--
--------------------------------------------------------------------------------
-require 'checks'
+local checks = require 'checks'
local gg = require 'metalua.grammar.generator'
local M = { }
diff --git a/metalua/compiler/parser/misc.lua b/metalua/compiler/parser/misc.lua
index a24b006..f7dde09 100644
--- a/metalua/compiler/parser/misc.lua
+++ b/metalua/compiler/parser/misc.lua
@@ -36,7 +36,8 @@
--
--------------------------------------------------------------------------------
-local gg = require 'metalua.grammar.generator'
+local pp = require 'metalua.pprint'
+local gg = require 'metalua.grammar.generator'
-- TODO: replace splice-aware versions with naive ones, move etensions in ./meta
@@ -115,7 +116,7 @@
-- +{ `String{ `Index{ `Splice{ -{id[1]} }, `Number 1 } } }
return { tag="String", { tag="Index", { tag="Splice", id[1] },
{ tag="Number", 1 } } }
- else error ("Identifier expected: "..table.tostring(id, 'nohash')) end
+ else error ("Identifier expected: "..pp.tostring (id, {metalua_tag=1, hide_hash=1})) end
end
--------------------------------------------------------------------------------
diff --git a/metalua/extension/match.mlua b/metalua/extension/match.mlua
index 8561e05..f55ff41 100644
--- a/metalua/extension/match.mlua
+++ b/metalua/extension/match.mlua
@@ -78,9 +78,9 @@
-- TODO: cfg.ntmp isn't reset as often as it could. I'm not even sure
-- the corresponding locals are declared.
-
-local gg = require 'metalua.grammar.generator'
-local pp = require 'metalua.pprint'
+local checks = require 'checks'
+local gg = require 'metalua.grammar.generator'
+local pp = require 'metalua.pprint'
----------------------------------------------------------------------
-- This would have been best done through library 'metalua.walk',
diff --git a/metalua/grammar/generator.lua b/metalua/grammar/generator.lua
index 4633c6e..2680d8a 100644
--- a/metalua/grammar/generator.lua
+++ b/metalua/grammar/generator.lua
@@ -46,7 +46,9 @@
local M = { }
-local lexer = require 'metalua.grammar.lexer'
+local checks = require 'checks'
+local lexer = require 'metalua.grammar.lexer'
+local pp = require 'metalua.pprint'
--------------------------------------------------------------------------------
-- Symbol generator: [gensym()] returns a guaranteed-to-be-unique identifier.
@@ -112,7 +114,7 @@
else -- Invalid parser definition, this is *not* a parsing error
error(string.format(
"Sequence `%s': element #%i is neither a string nor a parser: %s",
- p.name, i, table.tostring(e)))
+ p.name, i, pp.tostring(e)))
end
end
return r
diff --git a/metalua/grammar/lexer.lua b/metalua/grammar/lexer.lua
index 0a58058..0f96f8e 100644
--- a/metalua/grammar/lexer.lua
+++ b/metalua/grammar/lexer.lua
@@ -17,7 +17,7 @@
--
-------------------------------------------------------------------------------
-require 'checks'
+local checks = require 'checks'
local M = { }
diff --git a/metalua/loader.lua b/metalua/loader.lua
index 5a79a4c..a33af5e 100644
--- a/metalua/loader.lua
+++ b/metalua/loader.lua
@@ -18,6 +18,7 @@
--------------------------------------------------------------------------------
local M = require "package" -- extend Lua's basic "package" module
+local checks = require 'checks'
M.metalua_extension_prefix = 'metalua.extension.'
diff --git a/metalua/repl.mlua b/metalua/repl.mlua
index 4a39adf..0c89bc0 100644
--- a/metalua/repl.mlua
+++ b/metalua/repl.mlua
@@ -31,7 +31,7 @@
local readline
do -- set readline() to a line reader, either editline otr a default
- local status, _ = pcall(require, 'editline')
+ local status, editline = pcall(require, 'editline')
if status then
local rl_handle = editline.init 'metalua'
readline = |p| rl_handle:read(p)