rufus-lua-win 5.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +69 -0
- data/Rakefile +1 -0
- data/lib/rufus/lua/win.rb +18 -0
- data/lib/rufus/lua/win/version.rb +7 -0
- data/rufus-lua-win.gemspec +23 -0
- data/vendor/lua/bin/liblua.dll +0 -0
- data/vendor/lua/lib/lua/LuaXml.lua +119 -0
- data/vendor/lua/lib/lua/alien.lua +250 -0
- data/vendor/lua/lib/lua/alien/core.dll +0 -0
- data/vendor/lua/lib/lua/alien/struct.dll +0 -0
- data/vendor/lua/lib/lua/base.lua +536 -0
- data/vendor/lua/lib/lua/bin.lua +20 -0
- data/vendor/lua/lib/lua/bit.dll +0 -0
- data/vendor/lua/lib/lua/cdlua.dll +0 -0
- data/vendor/lua/lib/lua/cdluacontextplus.dll +0 -0
- data/vendor/lua/lib/lua/cdluagl.dll +0 -0
- data/vendor/lua/lib/lua/cdluaim.dll +0 -0
- data/vendor/lua/lib/lua/cdluapdf.dll +0 -0
- data/vendor/lua/lib/lua/copas.lua +543 -0
- data/vendor/lua/lib/lua/coxpcall.lua +57 -0
- data/vendor/lua/lib/lua/date.lua +745 -0
- data/vendor/lua/lib/lua/debug_ext.lua +84 -0
- data/vendor/lua/lib/lua/debug_init.lua +2 -0
- data/vendor/lua/lib/lua/des56.dll +0 -0
- data/vendor/lua/lib/lua/dist/config.lua +109 -0
- data/vendor/lua/lib/lua/dist/constraints.lua +271 -0
- data/vendor/lua/lib/lua/dist/depends.lua +601 -0
- data/vendor/lua/lib/lua/dist/git.lua +307 -0
- data/vendor/lua/lib/lua/dist/init.lua +278 -0
- data/vendor/lua/lib/lua/dist/manifest.lua +225 -0
- data/vendor/lua/lib/lua/dist/package.lua +583 -0
- data/vendor/lua/lib/lua/dist/sys.lua +367 -0
- data/vendor/lua/lib/lua/dist/utils.lua +130 -0
- data/vendor/lua/lib/lua/ex.dll +0 -0
- data/vendor/lua/lib/lua/fstable.lua +116 -0
- data/vendor/lua/lib/lua/getopt.lua +273 -0
- data/vendor/lua/lib/lua/git.lua +5 -0
- data/vendor/lua/lib/lua/git/core.dll +0 -0
- data/vendor/lua/lib/lua/git/objects.lua +121 -0
- data/vendor/lua/lib/lua/git/pack.lua +316 -0
- data/vendor/lua/lib/lua/git/protocol.lua +188 -0
- data/vendor/lua/lib/lua/git/repo.lua +283 -0
- data/vendor/lua/lib/lua/git/util.lua +233 -0
- data/vendor/lua/lib/lua/gzio.dll +0 -0
- data/vendor/lua/lib/lua/gzip.lua +81 -0
- data/vendor/lua/lib/lua/iconv.dll +0 -0
- data/vendor/lua/lib/lua/imlua.dll +0 -0
- data/vendor/lua/lib/lua/imlua_fftw.dll +0 -0
- data/vendor/lua/lib/lua/imlua_jp2.dll +0 -0
- data/vendor/lua/lib/lua/imlua_process.dll +0 -0
- data/vendor/lua/lib/lua/imlua_process_omp.dll +0 -0
- data/vendor/lua/lib/lua/io_ext.lua +115 -0
- data/vendor/lua/lib/lua/iuplua.dll +0 -0
- data/vendor/lua/lib/lua/iuplua_mglplot.dll +0 -0
- data/vendor/lua/lib/lua/iuplua_pplot.dll +0 -0
- data/vendor/lua/lib/lua/iupluacd.dll +0 -0
- data/vendor/lua/lib/lua/iupluacontrols.dll +0 -0
- data/vendor/lua/lib/lua/iupluagl.dll +0 -0
- data/vendor/lua/lib/lua/iupluaim.dll +0 -0
- data/vendor/lua/lib/lua/iupluaimglib.dll +0 -0
- data/vendor/lua/lib/lua/iupluatuio.dll +0 -0
- data/vendor/lua/lib/lua/lanes-keeper.lua +302 -0
- data/vendor/lua/lib/lua/lanes.lua +591 -0
- data/vendor/lua/lib/lua/lanes/core.dll +0 -0
- data/vendor/lua/lib/lua/lcs.lua +55 -0
- data/vendor/lua/lib/lua/lemock.lua +659 -0
- data/vendor/lua/lib/lua/lfs.dll +0 -0
- data/vendor/lua/lib/lua/list.lua +375 -0
- data/vendor/lua/lib/lua/logging.lua +189 -0
- data/vendor/lua/lib/lua/logging/console.lua +22 -0
- data/vendor/lua/lib/lua/logging/email.lua +44 -0
- data/vendor/lua/lib/lua/logging/file.lua +55 -0
- data/vendor/lua/lib/lua/logging/rolling_file.lua +81 -0
- data/vendor/lua/lib/lua/logging/socket.lua +35 -0
- data/vendor/lua/lib/lua/logging/sql.lua +64 -0
- data/vendor/lua/lib/lua/loop/base.lua +68 -0
- data/vendor/lua/lib/lua/loop/cached.lua +312 -0
- data/vendor/lua/lib/lua/loop/collection/MapWithArrayOfKeys.lua +64 -0
- data/vendor/lua/lib/lua/loop/collection/ObjectCache.lua +39 -0
- data/vendor/lua/lib/lua/loop/collection/OrderedSet.lua +164 -0
- data/vendor/lua/lib/lua/loop/collection/PriorityQueue.lua +86 -0
- data/vendor/lua/lib/lua/loop/collection/UnorderedArray.lua +32 -0
- data/vendor/lua/lib/lua/loop/collection/UnorderedArraySet.lua +56 -0
- data/vendor/lua/lib/lua/loop/compiler/Arguments.lua +108 -0
- data/vendor/lua/lib/lua/loop/compiler/Conditional.lua +50 -0
- data/vendor/lua/lib/lua/loop/compiler/Expression.lua +215 -0
- data/vendor/lua/lib/lua/loop/component/base.lua +221 -0
- data/vendor/lua/lib/lua/loop/component/contained.lua +71 -0
- data/vendor/lua/lib/lua/loop/component/dynamic.lua +223 -0
- data/vendor/lua/lib/lua/loop/component/intercepted.lua +354 -0
- data/vendor/lua/lib/lua/loop/component/wrapped.lua +195 -0
- data/vendor/lua/lib/lua/loop/debug/Inspector.lua +521 -0
- data/vendor/lua/lib/lua/loop/debug/Matcher.lua +192 -0
- data/vendor/lua/lib/lua/loop/debug/Verbose.lua +266 -0
- data/vendor/lua/lib/lua/loop/debug/Viewer.lua +200 -0
- data/vendor/lua/lib/lua/loop/multiple.lua +105 -0
- data/vendor/lua/lib/lua/loop/object/Exception.lua +57 -0
- data/vendor/lua/lib/lua/loop/object/Publisher.lua +43 -0
- data/vendor/lua/lib/lua/loop/object/Wrapper.lua +39 -0
- data/vendor/lua/lib/lua/loop/scoped.lua +585 -0
- data/vendor/lua/lib/lua/loop/serial/FileStream.lua +48 -0
- data/vendor/lua/lib/lua/loop/serial/Serializer.lua +291 -0
- data/vendor/lua/lib/lua/loop/serial/SocketStream.lua +51 -0
- data/vendor/lua/lib/lua/loop/serial/StringStream.lua +47 -0
- data/vendor/lua/lib/lua/loop/simple.lua +75 -0
- data/vendor/lua/lib/lua/loop/table.lua +71 -0
- data/vendor/lua/lib/lua/loop/thread/CoSocket.lua +416 -0
- data/vendor/lua/lib/lua/loop/thread/IOScheduler.lua +170 -0
- data/vendor/lua/lib/lua/loop/thread/Scheduler.lua +327 -0
- data/vendor/lua/lib/lua/loop/thread/SocketScheduler.lua +88 -0
- data/vendor/lua/lib/lua/loop/thread/Timer.lua +54 -0
- data/vendor/lua/lib/lua/lpeg.dll +0 -0
- data/vendor/lua/lib/lua/ltn12.lua +292 -0
- data/vendor/lua/lib/lua/luaXML_lib.dll +0 -0
- data/vendor/lua/lib/lua/luacurl.dll +0 -0
- data/vendor/lua/lib/lua/luadoc/config.lua +34 -0
- data/vendor/lua/lib/lua/luadoc/doclet/debug.lua +46 -0
- data/vendor/lua/lib/lua/luadoc/doclet/formatter.lua +84 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html.lua +289 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/file.lp +113 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/function.lp +64 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/index.lp +70 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/luadoc.css +286 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/menu.lp +55 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/module.lp +109 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/table.lp +15 -0
- data/vendor/lua/lib/lua/luadoc/doclet/raw.lua +12 -0
- data/vendor/lua/lib/lua/luadoc/init.lua +58 -0
- data/vendor/lua/lib/lua/luadoc/lp.lua +130 -0
- data/vendor/lua/lib/lua/luadoc/taglet/standard.lua +495 -0
- data/vendor/lua/lib/lua/luadoc/taglet/standard/tags.lua +171 -0
- data/vendor/lua/lib/lua/luadoc/util.lua +233 -0
- data/vendor/lua/lib/lua/luagl.dll +0 -0
- data/vendor/lua/lib/lua/luaglu.dll +0 -0
- data/vendor/lua/lib/lua/luaidl.lua +113 -0
- data/vendor/lua/lib/lua/luaidl/lex.lua +793 -0
- data/vendor/lua/lib/lua/luaidl/pre.lua +149 -0
- data/vendor/lua/lib/lua/luaidl/sin.lua +3631 -0
- data/vendor/lua/lib/lua/luarocks/add.lua +108 -0
- data/vendor/lua/lib/lua/luarocks/admin_remove.lua +87 -0
- data/vendor/lua/lib/lua/luarocks/build.lua +330 -0
- data/vendor/lua/lib/lua/luarocks/build/builtin.lua +253 -0
- data/vendor/lua/lib/lua/luarocks/build/cmake.lua +54 -0
- data/vendor/lua/lib/lua/luarocks/build/command.lua +32 -0
- data/vendor/lua/lib/lua/luarocks/build/make.lua +92 -0
- data/vendor/lua/lib/lua/luarocks/cache.lua +85 -0
- data/vendor/lua/lib/lua/luarocks/cfg.lua +449 -0
- data/vendor/lua/lib/lua/luarocks/command_line.lua +163 -0
- data/vendor/lua/lib/lua/luarocks/deps.lua +654 -0
- data/vendor/lua/lib/lua/luarocks/dir.lua +69 -0
- data/vendor/lua/lib/lua/luarocks/download.lua +90 -0
- data/vendor/lua/lib/lua/luarocks/fetch.lua +321 -0
- data/vendor/lua/lib/lua/luarocks/fetch/cvs.lua +44 -0
- data/vendor/lua/lib/lua/luarocks/fetch/git.lua +81 -0
- data/vendor/lua/lib/lua/luarocks/fetch/git_file.lua +17 -0
- data/vendor/lua/lib/lua/luarocks/fetch/hg.lua +54 -0
- data/vendor/lua/lib/lua/luarocks/fetch/sscm.lua +42 -0
- data/vendor/lua/lib/lua/luarocks/fetch/svn.lua +53 -0
- data/vendor/lua/lib/lua/luarocks/fs.lua +40 -0
- data/vendor/lua/lib/lua/luarocks/fs/lua.lua +676 -0
- data/vendor/lua/lib/lua/luarocks/fs/unix.lua +88 -0
- data/vendor/lua/lib/lua/luarocks/fs/unix/tools.lua +325 -0
- data/vendor/lua/lib/lua/luarocks/fs/win32.lua +107 -0
- data/vendor/lua/lib/lua/luarocks/fs/win32/tools.lua +334 -0
- data/vendor/lua/lib/lua/luarocks/help.lua +101 -0
- data/vendor/lua/lib/lua/luarocks/index.lua +172 -0
- data/vendor/lua/lib/lua/luarocks/install.lua +151 -0
- data/vendor/lua/lib/lua/luarocks/list.lua +35 -0
- data/vendor/lua/lib/lua/luarocks/loader.lua +228 -0
- data/vendor/lua/lib/lua/luarocks/make.lua +71 -0
- data/vendor/lua/lib/lua/luarocks/make_manifest.lua +34 -0
- data/vendor/lua/lib/lua/luarocks/manif.lua +360 -0
- data/vendor/lua/lib/lua/luarocks/manif_core.lua +75 -0
- data/vendor/lua/lib/lua/luarocks/new_version.lua +141 -0
- data/vendor/lua/lib/lua/luarocks/pack.lua +205 -0
- data/vendor/lua/lib/lua/luarocks/path.lua +315 -0
- data/vendor/lua/lib/lua/luarocks/persist.lua +173 -0
- data/vendor/lua/lib/lua/luarocks/refresh_cache.lua +30 -0
- data/vendor/lua/lib/lua/luarocks/remove.lua +135 -0
- data/vendor/lua/lib/lua/luarocks/rep.lua +313 -0
- data/vendor/lua/lib/lua/luarocks/require.lua +6 -0
- data/vendor/lua/lib/lua/luarocks/search.lua +399 -0
- data/vendor/lua/lib/lua/luarocks/show.lua +138 -0
- data/vendor/lua/lib/lua/luarocks/site_config.lua +23 -0
- data/vendor/lua/lib/lua/luarocks/tools/patch.lua +712 -0
- data/vendor/lua/lib/lua/luarocks/tools/tar.lua +144 -0
- data/vendor/lua/lib/lua/luarocks/tools/zip.lua +245 -0
- data/vendor/lua/lib/lua/luarocks/type_check.lua +267 -0
- data/vendor/lua/lib/lua/luarocks/unpack.lua +151 -0
- data/vendor/lua/lib/lua/luarocks/util.lua +420 -0
- data/vendor/lua/lib/lua/luarocks/validate.lua +164 -0
- data/vendor/lua/lib/lua/luars232.dll +0 -0
- data/vendor/lua/lib/lua/luasql/mysql.dll +0 -0
- data/vendor/lua/lib/lua/luasql/postgres.dll +0 -0
- data/vendor/lua/lib/lua/luasql/sqlite3.dll +0 -0
- data/vendor/lua/lib/lua/luaunit.lua +601 -0
- data/vendor/lua/lib/lua/lxp.dll +0 -0
- data/vendor/lua/lib/lua/lxp/lom.lua +60 -0
- data/vendor/lua/lib/lua/math_ext.lua +27 -0
- data/vendor/lua/lib/lua/mbox.lua +53 -0
- data/vendor/lua/lib/lua/md5.lua +19 -0
- data/vendor/lua/lib/lua/md5/core.dll +0 -0
- data/vendor/lua/lib/lua/metalua.lua +0 -0
- data/vendor/lua/lib/lua/metalua/ast_to_string.mlua +553 -0
- data/vendor/lua/lib/lua/metalua/base.lua +104 -0
- data/vendor/lua/lib/lua/metalua/bytecode.lua +0 -0
- data/vendor/lua/lib/lua/metalua/clopts.mlua +204 -0
- data/vendor/lua/lib/lua/metalua/compiler.lua +3 -0
- data/vendor/lua/lib/lua/metalua/dollar.mlua +24 -0
- data/vendor/lua/lib/lua/metalua/extension/H-runtime.mlua +216 -0
- data/vendor/lua/lib/lua/metalua/extension/H.mlua +22 -0
- data/vendor/lua/lib/lua/metalua/extension/anaphoric.mlua +54 -0
- data/vendor/lua/lib/lua/metalua/extension/clist.mlua +149 -0
- data/vendor/lua/lib/lua/metalua/extension/continue.mlua +53 -0
- data/vendor/lua/lib/lua/metalua/extension/localin.mlua +2 -0
- data/vendor/lua/lib/lua/metalua/extension/log.mlua +39 -0
- data/vendor/lua/lib/lua/metalua/extension/match.mlua +374 -0
- data/vendor/lua/lib/lua/metalua/extension/ternary.mlua +10 -0
- data/vendor/lua/lib/lua/metalua/extension/trycatch.mlua +189 -0
- data/vendor/lua/lib/lua/metalua/extension/types-runtime.mlua +159 -0
- data/vendor/lua/lib/lua/metalua/extension/types.mlua +352 -0
- data/vendor/lua/lib/lua/metalua/extension/withdo.mlua +30 -0
- data/vendor/lua/lib/lua/metalua/extension/xglobal-runtime.lua +41 -0
- data/vendor/lua/lib/lua/metalua/extension/xglobal.mlua +20 -0
- data/vendor/lua/lib/lua/metalua/extension/xloop.mlua +100 -0
- data/vendor/lua/lib/lua/metalua/extension/xmatch.mlua +216 -0
- data/vendor/lua/lib/lua/metalua/metaloop.mlua +76 -0
- data/vendor/lua/lib/lua/metalua/mlc.lua +0 -0
- data/vendor/lua/lib/lua/metalua/mlc_xcall.lua +119 -0
- data/vendor/lua/lib/lua/metalua/mlp.lua +0 -0
- data/vendor/lua/lib/lua/metalua/package2.lua +101 -0
- data/vendor/lua/lib/lua/metalua/runtime.lua +3 -0
- data/vendor/lua/lib/lua/metalua/string2.lua +44 -0
- data/vendor/lua/lib/lua/metalua/table2.lua +372 -0
- data/vendor/lua/lib/lua/metalua/walk.mlua +304 -0
- data/vendor/lua/lib/lua/metalua/walk/bindings.mlua +41 -0
- data/vendor/lua/lib/lua/metalua/walk/id.mlua +186 -0
- data/vendor/lua/lib/lua/metalua/walk/scope.lua +54 -0
- data/vendor/lua/lib/lua/mime.lua +87 -0
- data/vendor/lua/lib/lua/mime/core.dll +0 -0
- data/vendor/lua/lib/lua/mobdebug.lua +1484 -0
- data/vendor/lua/lib/lua/modules.lua +16 -0
- data/vendor/lua/lib/lua/object.lua +56 -0
- data/vendor/lua/lib/lua/oil/Exception.lua +26 -0
- data/vendor/lua/lib/lua/oil/arch.lua +27 -0
- data/vendor/lua/lib/lua/oil/arch/basic/client.lua +29 -0
- data/vendor/lua/lib/lua/oil/arch/basic/common.lua +13 -0
- data/vendor/lua/lib/lua/oil/arch/basic/server.lua +27 -0
- data/vendor/lua/lib/lua/oil/arch/cooperative/common.lua +10 -0
- data/vendor/lua/lib/lua/oil/arch/cooperative/server.lua +16 -0
- data/vendor/lua/lib/lua/oil/arch/corba/client.lua +39 -0
- data/vendor/lua/lib/lua/oil/arch/corba/common.lua +58 -0
- data/vendor/lua/lib/lua/oil/arch/corba/intercepted/client.lua +9 -0
- data/vendor/lua/lib/lua/oil/arch/corba/intercepted/server.lua +9 -0
- data/vendor/lua/lib/lua/oil/arch/corba/server.lua +35 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/byref.lua +18 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/client.lua +19 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/common.lua +18 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/server.lua +19 -0
- data/vendor/lua/lib/lua/oil/arch/typed/client.lua +27 -0
- data/vendor/lua/lib/lua/oil/arch/typed/common.lua +9 -0
- data/vendor/lua/lib/lua/oil/arch/typed/server.lua +18 -0
- data/vendor/lua/lib/lua/oil/assert.lua +87 -0
- data/vendor/lua/lib/lua/oil/builder.lua +45 -0
- data/vendor/lua/lib/lua/oil/builder/basic/client.lua +31 -0
- data/vendor/lua/lib/lua/oil/builder/basic/common.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/basic/server.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/cooperative/common.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/cooperative/server.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/corba/client.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/corba/common.lua +24 -0
- data/vendor/lua/lib/lua/oil/builder/corba/gencode.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/corba/intercepted/client.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/corba/intercepted/server.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/corba/server.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/lua/client.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/lua/server.lua +12 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/byref.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/client.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/common.lua +14 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/server.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/typed/client.lua +16 -0
- data/vendor/lua/lib/lua/oil/builder/typed/server.lua +12 -0
- data/vendor/lua/lib/lua/oil/compat.lua +846 -0
- data/vendor/lua/lib/lua/oil/component.lua +1 -0
- data/vendor/lua/lib/lua/oil/corba/giop.lua +301 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Codec.lua +1568 -0
- data/vendor/lua/lib/lua/oil/corba/giop/CodecGen.lua +589 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Exception.lua +25 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Indexer.lua +63 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Listener.lua +343 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Messenger.lua +228 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Referrer.lua +180 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Requester.lua +462 -0
- data/vendor/lua/lib/lua/oil/corba/idl.lua +597 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Compiler.lua +133 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Importer.lua +235 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Indexer.lua +95 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Registry.lua +1821 -0
- data/vendor/lua/lib/lua/oil/corba/idl/ir.lua +847 -0
- data/vendor/lua/lib/lua/oil/corba/idl/sysex.lua +21 -0
- data/vendor/lua/lib/lua/oil/corba/iiop/Profiler.lua +200 -0
- data/vendor/lua/lib/lua/oil/corba/intercepted/Listener.lua +158 -0
- data/vendor/lua/lib/lua/oil/corba/intercepted/Requester.lua +181 -0
- data/vendor/lua/lib/lua/oil/corba/services/event.lua +126 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/ConsumerAdmin.lua +50 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/EventFactory.lua +15 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/EventQueue.lua +37 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/ProxyPushConsumer.lua +75 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/ProxyPushSupplier.lua +62 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/SingleDeferredDispatcher.lua +60 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/SingleSynchronousDispatcher.lua +39 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/SupplierAdmin.lua +50 -0
- data/vendor/lua/lib/lua/oil/corba/services/naming.lua +436 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Acceptor.lua +268 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Channels.lua +121 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Connector.lua +147 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Dispatcher.lua +99 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies.lua +86 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/asynchronous.lua +56 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/protected.lua +17 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/synchronous.lua +17 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/utils.lua +29 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Receiver.lua +110 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Servants.lua +207 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Sockets.lua +44 -0
- data/vendor/lua/lib/lua/oil/kernel/cooperative/Receiver.lua +139 -0
- data/vendor/lua/lib/lua/oil/kernel/intercepted/Listener.lua +47 -0
- data/vendor/lua/lib/lua/oil/kernel/intercepted/Requester.lua +58 -0
- data/vendor/lua/lib/lua/oil/kernel/lua/Dispatcher.lua +76 -0
- data/vendor/lua/lib/lua/oil/kernel/lua/Proxies.lua +69 -0
- data/vendor/lua/lib/lua/oil/kernel/typed/Dispatcher.lua +91 -0
- data/vendor/lua/lib/lua/oil/kernel/typed/Proxies.lua +153 -0
- data/vendor/lua/lib/lua/oil/kernel/typed/Servants.lua +137 -0
- data/vendor/lua/lib/lua/oil/ludo/Codec.lua +66 -0
- data/vendor/lua/lib/lua/oil/ludo/CodecByRef.lua +103 -0
- data/vendor/lua/lib/lua/oil/ludo/Listener.lua +151 -0
- data/vendor/lua/lib/lua/oil/ludo/Referrer.lua +72 -0
- data/vendor/lua/lib/lua/oil/ludo/Requester.lua +107 -0
- data/vendor/lua/lib/lua/oil/oo.lua +1 -0
- data/vendor/lua/lib/lua/oil/port.lua +1 -0
- data/vendor/lua/lib/lua/oil/properties.lua +57 -0
- data/vendor/lua/lib/lua/oil/verbose.lua +133 -0
- data/vendor/lua/lib/lua/package_ext.lua +15 -0
- data/vendor/lua/lib/lua/parser.lua +268 -0
- data/vendor/lua/lib/lua/pl/Date.lua +555 -0
- data/vendor/lua/lib/lua/pl/List.lua +613 -0
- data/vendor/lua/lib/lua/pl/Map.lua +113 -0
- data/vendor/lua/lib/lua/pl/MultiMap.lua +62 -0
- data/vendor/lua/lib/lua/pl/OrderedMap.lua +151 -0
- data/vendor/lua/lib/lua/pl/Set.lua +153 -0
- data/vendor/lua/lib/lua/pl/app.lua +165 -0
- data/vendor/lua/lib/lua/pl/array2d.lua +501 -0
- data/vendor/lua/lib/lua/pl/class.lua +180 -0
- data/vendor/lua/lib/lua/pl/comprehension.lua +286 -0
- data/vendor/lua/lib/lua/pl/config.lua +176 -0
- data/vendor/lua/lib/lua/pl/data.lua +606 -0
- data/vendor/lua/lib/lua/pl/dir.lua +475 -0
- data/vendor/lua/lib/lua/pl/file.lua +70 -0
- data/vendor/lua/lib/lua/pl/func.lua +376 -0
- data/vendor/lua/lib/lua/pl/init.lua +68 -0
- data/vendor/lua/lib/lua/pl/input.lua +173 -0
- data/vendor/lua/lib/lua/pl/lapp.lua +407 -0
- data/vendor/lua/lib/lua/pl/lexer.lua +456 -0
- data/vendor/lua/lib/lua/pl/luabalanced.lua +264 -0
- data/vendor/lua/lib/lua/pl/operator.lua +201 -0
- data/vendor/lua/lib/lua/pl/path.lua +398 -0
- data/vendor/lua/lib/lua/pl/permute.lua +63 -0
- data/vendor/lua/lib/lua/pl/platf/luajava.lua +101 -0
- data/vendor/lua/lib/lua/pl/pretty.lua +285 -0
- data/vendor/lua/lib/lua/pl/seq.lua +551 -0
- data/vendor/lua/lib/lua/pl/sip.lua +344 -0
- data/vendor/lua/lib/lua/pl/strict.lua +70 -0
- data/vendor/lua/lib/lua/pl/stringio.lua +158 -0
- data/vendor/lua/lib/lua/pl/stringx.lua +440 -0
- data/vendor/lua/lib/lua/pl/tablex.lua +817 -0
- data/vendor/lua/lib/lua/pl/template.lua +103 -0
- data/vendor/lua/lib/lua/pl/test.lua +135 -0
- data/vendor/lua/lib/lua/pl/text.lua +243 -0
- data/vendor/lua/lib/lua/pl/utils.lua +550 -0
- data/vendor/lua/lib/lua/pl/xml.lua +689 -0
- data/vendor/lua/lib/lua/profiler.dll +0 -0
- data/vendor/lua/lib/lua/re.lua +248 -0
- data/vendor/lua/lib/lua/rex_onig.dll +0 -0
- data/vendor/lua/lib/lua/rex_pcre.dll +0 -0
- data/vendor/lua/lib/lua/rex_posix.dll +0 -0
- data/vendor/lua/lib/lua/rings.dll +0 -0
- data/vendor/lua/lib/lua/serialize.lua +193 -0
- data/vendor/lua/lib/lua/set.lua +149 -0
- data/vendor/lua/lib/lua/socket.lua +133 -0
- data/vendor/lua/lib/lua/socket/core.dll +0 -0
- data/vendor/lua/lib/lua/socket/ftp.lua +281 -0
- data/vendor/lua/lib/lua/socket/http.lua +350 -0
- data/vendor/lua/lib/lua/socket/smtp.lua +251 -0
- data/vendor/lua/lib/lua/socket/tp.lua +123 -0
- data/vendor/lua/lib/lua/socket/url.lua +297 -0
- data/vendor/lua/lib/lua/ssl.dll +0 -0
- data/vendor/lua/lib/lua/ssl.lua +93 -0
- data/vendor/lua/lib/lua/ssl/https.lua +138 -0
- data/vendor/lua/lib/lua/stable.lua +28 -0
- data/vendor/lua/lib/lua/std.lua +16 -0
- data/vendor/lua/lib/lua/strbuf.lua +32 -0
- data/vendor/lua/lib/lua/strict.lua +45 -0
- data/vendor/lua/lib/lua/string_ext.lua +274 -0
- data/vendor/lua/lib/lua/table_ext.lua +117 -0
- data/vendor/lua/lib/lua/tar.lua +262 -0
- data/vendor/lua/lib/lua/task.dll +0 -0
- data/vendor/lua/lib/lua/tree.lua +81 -0
- data/vendor/lua/lib/lua/unicode.dll +0 -0
- data/vendor/lua/lib/lua/verbose_require.lua +11 -0
- data/vendor/lua/lib/lua/vstruct.lua +86 -0
- data/vendor/lua/lib/lua/vstruct/ast.lua +192 -0
- data/vendor/lua/lib/lua/vstruct/ast/Bitpack.lua +33 -0
- data/vendor/lua/lib/lua/vstruct/ast/Generator.lua +174 -0
- data/vendor/lua/lib/lua/vstruct/ast/IO.lua +45 -0
- data/vendor/lua/lib/lua/vstruct/ast/List.lua +56 -0
- data/vendor/lua/lib/lua/vstruct/ast/Name.lua +20 -0
- data/vendor/lua/lib/lua/vstruct/ast/Repeat.lua +23 -0
- data/vendor/lua/lib/lua/vstruct/ast/Root.lua +19 -0
- data/vendor/lua/lib/lua/vstruct/ast/Table.lua +65 -0
- data/vendor/lua/lib/lua/vstruct/cursor.lua +81 -0
- data/vendor/lua/lib/lua/vstruct/io.lua +45 -0
- data/vendor/lua/lib/lua/vstruct/io/a.lua +24 -0
- data/vendor/lua/lib/lua/vstruct/io/b.lua +28 -0
- data/vendor/lua/lib/lua/vstruct/io/bigendian.lua +21 -0
- data/vendor/lua/lib/lua/vstruct/io/c.lua +25 -0
- data/vendor/lua/lib/lua/vstruct/io/defaults.lua +24 -0
- data/vendor/lua/lib/lua/vstruct/io/endianness.lua +41 -0
- data/vendor/lua/lib/lua/vstruct/io/f.lua +129 -0
- data/vendor/lua/lib/lua/vstruct/io/hostendian.lua +21 -0
- data/vendor/lua/lib/lua/vstruct/io/i.lua +42 -0
- data/vendor/lua/lib/lua/vstruct/io/littleendian.lua +21 -0
- data/vendor/lua/lib/lua/vstruct/io/m.lua +62 -0
- data/vendor/lua/lib/lua/vstruct/io/p.lua +23 -0
- data/vendor/lua/lib/lua/vstruct/io/s.lua +27 -0
- data/vendor/lua/lib/lua/vstruct/io/seekb.lua +18 -0
- data/vendor/lua/lib/lua/vstruct/io/seekf.lua +18 -0
- data/vendor/lua/lib/lua/vstruct/io/seekto.lua +18 -0
- data/vendor/lua/lib/lua/vstruct/io/u.lua +54 -0
- data/vendor/lua/lib/lua/vstruct/io/x.lua +34 -0
- data/vendor/lua/lib/lua/vstruct/io/z.lua +63 -0
- data/vendor/lua/lib/lua/vstruct/lexer.lua +100 -0
- data/vendor/lua/lib/lua/vstruct/pack.lua +142 -0
- data/vendor/lua/lib/lua/vstruct/test.lua +47 -0
- data/vendor/lua/lib/lua/vstruct/test/basic.lua +73 -0
- data/vendor/lua/lib/lua/vstruct/test/common.lua +100 -0
- data/vendor/lua/lib/lua/vstruct/test/fp-bigendian.lua +56 -0
- data/vendor/lua/lib/lua/vstruct/test/fp-littleendian.lua +56 -0
- data/vendor/lua/lib/lua/vstruct/test/struct-test-gen.lua +1230 -0
- data/vendor/lua/lib/lua/vstruct/unpack.lua +126 -0
- data/vendor/lua/lib/lua/wx.dll +0 -0
- data/vendor/lua/lib/lua/xml.lua +75 -0
- data/vendor/lua/lib/lua/zip.dll +0 -0
- data/vendor/lua/lib/lua/zlib.dll +0 -0
- metadata +529 -0
|
Binary file
|
|
@@ -0,0 +1,375 @@
|
|
|
1
|
+
--- Tables as lists.
|
|
2
|
+
module ("list", package.seeall)
|
|
3
|
+
|
|
4
|
+
require "base"
|
|
5
|
+
require "table_ext"
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
--- An iterator over the elements of a list.
|
|
9
|
+
-- @param l list to iterate over
|
|
10
|
+
-- @return iterator function which returns successive elements of the list
|
|
11
|
+
-- @return the list <code>l</code> as above
|
|
12
|
+
-- @return <code>true</code>
|
|
13
|
+
function elems (l)
|
|
14
|
+
local n = 0
|
|
15
|
+
return function (l)
|
|
16
|
+
n = n + 1
|
|
17
|
+
if n <= #l then
|
|
18
|
+
return l[n]
|
|
19
|
+
end
|
|
20
|
+
end,
|
|
21
|
+
l, true
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
--- An iterator over the elements of a list, in reverse.
|
|
25
|
+
-- @param l list to iterate over
|
|
26
|
+
-- @return iterator function which returns precessive elements of the list
|
|
27
|
+
-- @return the list <code>l</code> as above
|
|
28
|
+
-- @return <code>true</code>
|
|
29
|
+
function relems (l)
|
|
30
|
+
local n = #l + 1
|
|
31
|
+
return function (l)
|
|
32
|
+
n = n - 1
|
|
33
|
+
if n > 0 then
|
|
34
|
+
return l[n]
|
|
35
|
+
end
|
|
36
|
+
end,
|
|
37
|
+
l, true
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
--- Map a function over a list.
|
|
41
|
+
-- @param f function
|
|
42
|
+
-- @param l list
|
|
43
|
+
-- @return result list <code>{f (l[1]), ..., f (l[#l])}</code>
|
|
44
|
+
function map (f, l)
|
|
45
|
+
return _G.map (f, elems, l)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
--- Map a function over a list of lists.
|
|
49
|
+
-- @param f function
|
|
50
|
+
-- @param ls list of lists
|
|
51
|
+
-- @return result list <code>{f (unpack (ls[1]))), ..., f (unpack (ls[#ls]))}</code>
|
|
52
|
+
function mapWith (f, l)
|
|
53
|
+
return _G.map (compose (f, unpack), elems, l)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
--- Filter a list according to a predicate.
|
|
57
|
+
-- @param p predicate (function of one argument returning a boolean)
|
|
58
|
+
-- @param l list of lists
|
|
59
|
+
-- @return result list containing elements <code>e</code> of
|
|
60
|
+
-- <code>l</code> for which <code>p (e)</code> is true
|
|
61
|
+
function filter (p, l)
|
|
62
|
+
return _G.filter (p, elems, l)
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
--- Return a slice of a list.
|
|
66
|
+
-- (Negative list indices count from the end of the list.)
|
|
67
|
+
-- @param l list
|
|
68
|
+
-- @param from start of slice (default: 1)
|
|
69
|
+
-- @param to end of slice (default: <code>#l</code>)
|
|
70
|
+
-- @return <code>{l[from], ..., l[to]}</code>
|
|
71
|
+
function slice (l, from, to)
|
|
72
|
+
local m = {}
|
|
73
|
+
local len = #l
|
|
74
|
+
from = from or 1
|
|
75
|
+
to = to or len
|
|
76
|
+
if from < 0 then
|
|
77
|
+
from = from + len + 1
|
|
78
|
+
end
|
|
79
|
+
if to < 0 then
|
|
80
|
+
to = to + len + 1
|
|
81
|
+
end
|
|
82
|
+
for i = from, to do
|
|
83
|
+
table.insert (m, l[i])
|
|
84
|
+
end
|
|
85
|
+
return m
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
--- Return a list with its first element removed.
|
|
89
|
+
-- @param l list
|
|
90
|
+
-- @return <code>{l[2], ..., l[#l]}</code>
|
|
91
|
+
function tail (l)
|
|
92
|
+
return slice (l, 2)
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
--- Fold a binary function through a list left associatively.
|
|
96
|
+
-- @param f function
|
|
97
|
+
-- @param e element to place in left-most position
|
|
98
|
+
-- @param l list
|
|
99
|
+
-- @return result
|
|
100
|
+
function foldl (f, e, l)
|
|
101
|
+
return _G.fold (f, e, elems, l)
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
--- Fold a binary function through a list right associatively.
|
|
105
|
+
-- @param f function
|
|
106
|
+
-- @param e element to place in right-most position
|
|
107
|
+
-- @param l list
|
|
108
|
+
-- @return result
|
|
109
|
+
function foldr (f, e, l)
|
|
110
|
+
return _G.fold (function (x, y) return f (y, x) end,
|
|
111
|
+
e, relems, l)
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
--- Prepend an item to a list.
|
|
115
|
+
-- @param l list
|
|
116
|
+
-- @param x item
|
|
117
|
+
-- @return <code>{x, unpack (l)}</code>
|
|
118
|
+
function cons (l, x)
|
|
119
|
+
return {x, unpack (l)}
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
--- Append an item to a list.
|
|
123
|
+
-- @param l list
|
|
124
|
+
-- @param x item
|
|
125
|
+
-- @return <code>{l[1], ..., l[#l], x}</code>
|
|
126
|
+
function append (l, x)
|
|
127
|
+
local r = {unpack (l)}
|
|
128
|
+
table.insert (r, x)
|
|
129
|
+
return r
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
--- Concatenate lists.
|
|
133
|
+
-- @param ... lists
|
|
134
|
+
-- @return <code>{l<sub>1</sub>[1], ...,
|
|
135
|
+
-- l<sub>1</sub>[#l<sub>1</sub>], ..., l<sub>n</sub>[1], ...,
|
|
136
|
+
-- l<sub>n</sub>[#l<sub>n</sub>]}</code>
|
|
137
|
+
function concat (...)
|
|
138
|
+
local r = {}
|
|
139
|
+
for l in elems ({...}) do
|
|
140
|
+
for v in elems (l) do
|
|
141
|
+
table.insert (r, v)
|
|
142
|
+
end
|
|
143
|
+
end
|
|
144
|
+
return r
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
--- Repeat a list.
|
|
148
|
+
-- @param l list
|
|
149
|
+
-- @param n number of times to repeat
|
|
150
|
+
-- @return <code>n</code> copies of <code>l</code> appended together
|
|
151
|
+
function rep (l, n)
|
|
152
|
+
local r = {}
|
|
153
|
+
for i = 1, n do
|
|
154
|
+
r = list.concat (r, l)
|
|
155
|
+
end
|
|
156
|
+
return r
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
--- Reverse a list.
|
|
160
|
+
-- @param l list
|
|
161
|
+
-- @return list <code>{l[#l], ..., l[1]}</code>
|
|
162
|
+
function reverse (l)
|
|
163
|
+
local m = {}
|
|
164
|
+
for i = #l, 1, -1 do
|
|
165
|
+
table.insert (m, l[i])
|
|
166
|
+
end
|
|
167
|
+
return m
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
--- Transpose a list of lists.
|
|
171
|
+
-- This function in Lua is equivalent to zip and unzip in more
|
|
172
|
+
-- strongly typed languages.
|
|
173
|
+
-- @param ls <code>{{l<sub>1,1</sub>, ..., l<sub>1,c</sub>}, ...,
|
|
174
|
+
-- {l<sub>r,1<sub>, ..., l<sub>r,c</sub>}}</code>
|
|
175
|
+
-- @return <code>{{l<sub>1,1</sub>, ..., l<sub>r,1</sub>}, ...,
|
|
176
|
+
-- {l<sub>1,c</sub>, ..., l<sub>r,c</sub>}}</code>
|
|
177
|
+
function transpose (ls)
|
|
178
|
+
local ms, len = {}, #ls
|
|
179
|
+
for i = 1, math.max (unpack (map (function (l) return #l end, ls))) do
|
|
180
|
+
ms[i] = {}
|
|
181
|
+
for j = 1, len do
|
|
182
|
+
ms[i][j] = ls[j][i]
|
|
183
|
+
end
|
|
184
|
+
end
|
|
185
|
+
return ms
|
|
186
|
+
end
|
|
187
|
+
|
|
188
|
+
--- Zip lists together with a function.
|
|
189
|
+
-- @param f function
|
|
190
|
+
-- @param ls list of lists
|
|
191
|
+
-- @return <code>{f (ls[1][1], ..., ls[#ls][1]), ..., f (ls[1][N], ..., ls[#ls][N])</code>
|
|
192
|
+
-- where <code>N = max {map (function (l) return #l end, ls)}</code>
|
|
193
|
+
function zipWith (f, ls)
|
|
194
|
+
return mapWith (f, transpose (ls))
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
--- Project a list of fields from a list of tables.
|
|
198
|
+
-- @param f field to project
|
|
199
|
+
-- @param l list of tables
|
|
200
|
+
-- @return list of <code>f</code> fields
|
|
201
|
+
function project (f, l)
|
|
202
|
+
return map (function (t) return t[f] end, l)
|
|
203
|
+
end
|
|
204
|
+
|
|
205
|
+
--- Turn a table into a list of pairs.
|
|
206
|
+
-- <br>FIXME: Find a better name.
|
|
207
|
+
-- @param t table <code>{i<sub>1</sub>=v<sub>1</sub>, ...,
|
|
208
|
+
-- i<sub>n</sub>=v<sub>n</sub>}</code>
|
|
209
|
+
-- @return list <code>{{i<sub>1</sub>, v<sub>1</sub>}, ...,
|
|
210
|
+
-- {i<sub>n</sub>, v<sub>n</sub>}}</code>
|
|
211
|
+
function enpair (t)
|
|
212
|
+
local ls = {}
|
|
213
|
+
for i, v in pairs (t) do
|
|
214
|
+
table.insert (ls, {i, v})
|
|
215
|
+
end
|
|
216
|
+
return ls
|
|
217
|
+
end
|
|
218
|
+
|
|
219
|
+
--- Turn a list of pairs into a table.
|
|
220
|
+
-- <br>FIXME: Find a better name.
|
|
221
|
+
-- @param ls list <code>{{i<sub>1</sub>, v<sub>1</sub>}, ...,
|
|
222
|
+
-- {i<sub>n</sub>, v<sub>n</sub>}}</code>
|
|
223
|
+
-- @return table <code>{i<sub>1</sub>=v<sub>1</sub>, ...,
|
|
224
|
+
-- i<sub>n</sub>=v<sub>n</sub>}</code>
|
|
225
|
+
function depair (ls)
|
|
226
|
+
local t = {}
|
|
227
|
+
for v in elems (ls) do
|
|
228
|
+
t[v[1]] = v[2]
|
|
229
|
+
end
|
|
230
|
+
return t
|
|
231
|
+
end
|
|
232
|
+
|
|
233
|
+
--- Flatten a list.
|
|
234
|
+
-- @param l list to flatten
|
|
235
|
+
-- @return flattened list
|
|
236
|
+
function flatten (l)
|
|
237
|
+
local m = {}
|
|
238
|
+
for v in ileaves (l) do
|
|
239
|
+
table.insert (m, v)
|
|
240
|
+
end
|
|
241
|
+
return m
|
|
242
|
+
end
|
|
243
|
+
|
|
244
|
+
--- Shape a list according to a list of dimensions.
|
|
245
|
+
--
|
|
246
|
+
-- Dimensions are given outermost first and items from the original
|
|
247
|
+
-- list are distributed breadth first; there may be one 0 indicating
|
|
248
|
+
-- an indefinite number. Hence, <code>{0}</code> is a flat list,
|
|
249
|
+
-- <code>{1}</code> is a singleton, <code>{2, 0}</code> is a list of
|
|
250
|
+
-- two lists, and <code>{0, 2}</code> is a list of pairs.
|
|
251
|
+
-- <br>
|
|
252
|
+
-- Algorithm: turn shape into all positive numbers, calculating
|
|
253
|
+
-- the zero if necessary and making sure there is at most one;
|
|
254
|
+
-- recursively walk the shape, adding empty tables until the bottom
|
|
255
|
+
-- level is reached at which point add table items instead, using a
|
|
256
|
+
-- counter to walk the flattened original list.
|
|
257
|
+
-- <br>
|
|
258
|
+
-- @param s <code>{d<sub>1</sub>, ..., d<sub>n</sub>}</code>
|
|
259
|
+
-- @param l list to reshape
|
|
260
|
+
-- @return reshaped list
|
|
261
|
+
-- FIXME: Use ileaves instead of flatten (needs a while instead of a
|
|
262
|
+
-- for in fill function)
|
|
263
|
+
function shape (s, l)
|
|
264
|
+
l = flatten (l)
|
|
265
|
+
-- Check the shape and calculate the size of the zero, if any
|
|
266
|
+
local size = 1
|
|
267
|
+
local zero
|
|
268
|
+
for i, v in ipairs (s) do
|
|
269
|
+
if v == 0 then
|
|
270
|
+
if zero then -- bad shape: two zeros
|
|
271
|
+
return nil
|
|
272
|
+
else
|
|
273
|
+
zero = i
|
|
274
|
+
end
|
|
275
|
+
else
|
|
276
|
+
size = size * v
|
|
277
|
+
end
|
|
278
|
+
end
|
|
279
|
+
if zero then
|
|
280
|
+
s[zero] = math.ceil (#l / size)
|
|
281
|
+
end
|
|
282
|
+
local function fill (i, d)
|
|
283
|
+
if d > #s then
|
|
284
|
+
return l[i], i + 1
|
|
285
|
+
else
|
|
286
|
+
local t = {}
|
|
287
|
+
for j = 1, s[d] do
|
|
288
|
+
local e
|
|
289
|
+
e, i = fill (i, d + 1)
|
|
290
|
+
table.insert (t, e)
|
|
291
|
+
end
|
|
292
|
+
return t, i
|
|
293
|
+
end
|
|
294
|
+
end
|
|
295
|
+
return (fill (1, 1))
|
|
296
|
+
end
|
|
297
|
+
|
|
298
|
+
--- Make an index of a list of tables on a given field
|
|
299
|
+
-- @param f field
|
|
300
|
+
-- @param l list of tables <code>{t<sub>1</sub>, ...,
|
|
301
|
+
-- t<sub>n</sub>}</code>
|
|
302
|
+
-- @return index <code>{t<sub>1</sub>[f]=1, ...,
|
|
303
|
+
-- t<sub>n</sub>[f]=n}</code>
|
|
304
|
+
function indexKey (f, l)
|
|
305
|
+
local m = {}
|
|
306
|
+
for i, v in ipairs (l) do
|
|
307
|
+
local k = v[f]
|
|
308
|
+
if k then
|
|
309
|
+
m[k] = i
|
|
310
|
+
end
|
|
311
|
+
end
|
|
312
|
+
return m
|
|
313
|
+
end
|
|
314
|
+
|
|
315
|
+
--- Copy a list of tables, indexed on a given field
|
|
316
|
+
-- @param f field whose value should be used as index
|
|
317
|
+
-- @param l list of tables <code>{i<sub>1</sub>=t<sub>1</sub>, ...,
|
|
318
|
+
-- i<sub>n</sub>=t<sub>n</sub>}</code>
|
|
319
|
+
-- @return index <code>{t<sub>1</sub>[f]=t<sub>1</sub>, ...,
|
|
320
|
+
-- t<sub>n</sub>[f]=t<sub>n</sub>}</code>
|
|
321
|
+
function indexValue (f, l)
|
|
322
|
+
local m = {}
|
|
323
|
+
for i, v in ipairs (l) do
|
|
324
|
+
local k = v[f]
|
|
325
|
+
if k then
|
|
326
|
+
m[k] = v
|
|
327
|
+
end
|
|
328
|
+
end
|
|
329
|
+
return m
|
|
330
|
+
end
|
|
331
|
+
permuteOn = indexValue
|
|
332
|
+
|
|
333
|
+
--- Compare two lists element by element left-to-right
|
|
334
|
+
-- @param l first list
|
|
335
|
+
-- @param m second list
|
|
336
|
+
-- @return -1 if <code>l</code> is less than <code>m</code>, 0 if they
|
|
337
|
+
-- are the same, and 1 if <code>l</code> is greater than <code>m</code>
|
|
338
|
+
function compare (l, m)
|
|
339
|
+
for i = 1, math.min (#l, #m) do
|
|
340
|
+
if l[i] < m[i] then
|
|
341
|
+
return -1
|
|
342
|
+
elseif l[i] > m[i] then
|
|
343
|
+
return 1
|
|
344
|
+
end
|
|
345
|
+
end
|
|
346
|
+
if #l < #m then
|
|
347
|
+
return -1
|
|
348
|
+
elseif #l > #m then
|
|
349
|
+
return 1
|
|
350
|
+
end
|
|
351
|
+
return 0
|
|
352
|
+
end
|
|
353
|
+
|
|
354
|
+
-- Metamethods for lists
|
|
355
|
+
metatable = {
|
|
356
|
+
-- list .. table = list.concat
|
|
357
|
+
__concat = list.concat,
|
|
358
|
+
-- list == list retains its referential meaning
|
|
359
|
+
-- list < list = list.compare returns < 0
|
|
360
|
+
__lt = function (l, m) return compare (l, m) < 0 end,
|
|
361
|
+
-- list <= list = list.compare returns <= 0
|
|
362
|
+
__le = function (l, m) return compare (l, m) <= 0 end,
|
|
363
|
+
__append = list.append,
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
--- List constructor.
|
|
367
|
+
-- Needed in order to use metamethods.
|
|
368
|
+
-- @param t list (as a table)
|
|
369
|
+
-- @return list (with list metamethods)
|
|
370
|
+
function new (l)
|
|
371
|
+
return setmetatable (l, metatable)
|
|
372
|
+
end
|
|
373
|
+
|
|
374
|
+
-- Function forms of operators
|
|
375
|
+
_G.op[".."] = list.concat
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
-------------------------------------------------------------------------------
|
|
2
|
+
-- includes a new tostring function that handles tables recursively
|
|
3
|
+
--
|
|
4
|
+
-- @author Danilo Tuler (tuler@ideais.com.br)
|
|
5
|
+
-- @author Andre Carregal (info@keplerproject.org)
|
|
6
|
+
-- @author Thiago Costa Ponte (thiago@ideais.com.br)
|
|
7
|
+
--
|
|
8
|
+
-- @copyright 2004-2011 Kepler Project
|
|
9
|
+
-------------------------------------------------------------------------------
|
|
10
|
+
|
|
11
|
+
local type, table, string, _tostring, tonumber = type, table, string, tostring, tonumber
|
|
12
|
+
local select = select
|
|
13
|
+
local error = error
|
|
14
|
+
local format = string.format
|
|
15
|
+
|
|
16
|
+
module("logging")
|
|
17
|
+
|
|
18
|
+
-- Meta information
|
|
19
|
+
_COPYRIGHT = "Copyright (C) 2004-2011 Kepler Project"
|
|
20
|
+
_DESCRIPTION = "A simple API to use logging features in Lua"
|
|
21
|
+
_VERSION = "LuaLogging 1.1.4"
|
|
22
|
+
|
|
23
|
+
-- The DEBUG Level designates fine-grained instring.formational events that are most
|
|
24
|
+
-- useful to debug an application
|
|
25
|
+
DEBUG = "DEBUG"
|
|
26
|
+
|
|
27
|
+
-- The INFO level designates instring.formational messages that highlight the
|
|
28
|
+
-- progress of the application at coarse-grained level
|
|
29
|
+
INFO = "INFO"
|
|
30
|
+
|
|
31
|
+
-- The WARN level designates potentially harmful situations
|
|
32
|
+
WARN = "WARN"
|
|
33
|
+
|
|
34
|
+
-- The ERROR level designates error events that might still allow the
|
|
35
|
+
-- application to continue running
|
|
36
|
+
ERROR = "ERROR"
|
|
37
|
+
|
|
38
|
+
-- The FATAL level designates very severe error events that will presumably
|
|
39
|
+
-- lead the application to abort
|
|
40
|
+
FATAL = "FATAL"
|
|
41
|
+
|
|
42
|
+
local LEVEL = {"DEBUG", "INFO", "WARN", "ERROR", "FATAL"}
|
|
43
|
+
local MAX_LEVELS = #LEVEL
|
|
44
|
+
-- make level names to order
|
|
45
|
+
for i=1,MAX_LEVELS do
|
|
46
|
+
LEVEL[LEVEL[i]] = i
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
-- private log function, with support for formating a complex log message.
|
|
50
|
+
local function LOG_MSG(self, level, fmt, ...)
|
|
51
|
+
local f_type = type(fmt)
|
|
52
|
+
if f_type == 'string' then
|
|
53
|
+
if select('#', ...) > 0 then
|
|
54
|
+
return self:append(level, format(fmt, ...))
|
|
55
|
+
else
|
|
56
|
+
-- only a single string, no formating needed.
|
|
57
|
+
return self:append(level, fmt)
|
|
58
|
+
end
|
|
59
|
+
elseif f_type == 'function' then
|
|
60
|
+
-- fmt should be a callable function which returns the message to log
|
|
61
|
+
return self:append(level, fmt(...))
|
|
62
|
+
end
|
|
63
|
+
-- fmt is not a string and not a function, just call tostring() on it.
|
|
64
|
+
return self:append(level, tostring(fmt))
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
-- create the proxy functions for each log level.
|
|
68
|
+
local LEVEL_FUNCS = {}
|
|
69
|
+
for i=1,MAX_LEVELS do
|
|
70
|
+
local level = LEVEL[i]
|
|
71
|
+
LEVEL_FUNCS[i] = function(self, ...)
|
|
72
|
+
-- no level checking needed here, this function will only be called if it's level is active.
|
|
73
|
+
return LOG_MSG(self, level, ...)
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
-- do nothing function for disabled levels.
|
|
78
|
+
local function disable_level() end
|
|
79
|
+
|
|
80
|
+
-- improved assertion funciton.
|
|
81
|
+
local function assert(exp, ...)
|
|
82
|
+
-- if exp is true, we are finished so don't do any processing of the parameters
|
|
83
|
+
if exp then return exp, ... end
|
|
84
|
+
-- assertion failed, raise error
|
|
85
|
+
error(format(...), 2)
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
-------------------------------------------------------------------------------
|
|
89
|
+
-- Creates a new logger object
|
|
90
|
+
-- @param append Function used by the logger to append a message with a
|
|
91
|
+
-- log-level to the log stream.
|
|
92
|
+
-- @return Table representing the new logger object.
|
|
93
|
+
-------------------------------------------------------------------------------
|
|
94
|
+
function new(append)
|
|
95
|
+
|
|
96
|
+
if type(append) ~= "function" then
|
|
97
|
+
return nil, "Appender must be a function."
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
local logger = {}
|
|
101
|
+
logger.append = append
|
|
102
|
+
|
|
103
|
+
logger.setLevel = function (self, level)
|
|
104
|
+
local order = LEVEL[level]
|
|
105
|
+
assert(order, "undefined level `%s'", _tostring(level))
|
|
106
|
+
self.level = level
|
|
107
|
+
self.level_order = order
|
|
108
|
+
-- enable/disable levels
|
|
109
|
+
for i=1,MAX_LEVELS do
|
|
110
|
+
local name = LEVEL[i]:lower()
|
|
111
|
+
if i >= order then
|
|
112
|
+
self[name] = LEVEL_FUNCS[i]
|
|
113
|
+
else
|
|
114
|
+
self[name] = disable_level
|
|
115
|
+
end
|
|
116
|
+
end
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
-- generic log function.
|
|
120
|
+
logger.log = function (self, level, ...)
|
|
121
|
+
local order = LEVEL[level]
|
|
122
|
+
assert(order, "undefined level `%s'", _tostring(level))
|
|
123
|
+
if order < self.level_order then
|
|
124
|
+
return
|
|
125
|
+
end
|
|
126
|
+
return LOG_MSG(self, level, ...)
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
-- initialize log level.
|
|
130
|
+
logger:setLevel(DEBUG)
|
|
131
|
+
return logger
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
-------------------------------------------------------------------------------
|
|
136
|
+
-- Prepares the log message
|
|
137
|
+
-------------------------------------------------------------------------------
|
|
138
|
+
function prepareLogMsg(pattern, dt, level, message)
|
|
139
|
+
|
|
140
|
+
local logMsg = pattern or "%date %level %message\n"
|
|
141
|
+
message = string.gsub(message, "%%", "%%%%")
|
|
142
|
+
logMsg = string.gsub(logMsg, "%%date", dt)
|
|
143
|
+
logMsg = string.gsub(logMsg, "%%level", level)
|
|
144
|
+
logMsg = string.gsub(logMsg, "%%message", message)
|
|
145
|
+
return logMsg
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
-------------------------------------------------------------------------------
|
|
150
|
+
-- Converts a Lua value to a string
|
|
151
|
+
--
|
|
152
|
+
-- Converts Table fields in alphabetical order
|
|
153
|
+
-------------------------------------------------------------------------------
|
|
154
|
+
function tostring(value)
|
|
155
|
+
local str = ''
|
|
156
|
+
|
|
157
|
+
if (type(value) ~= 'table') then
|
|
158
|
+
if (type(value) == 'string') then
|
|
159
|
+
str = string.format("%q", value)
|
|
160
|
+
else
|
|
161
|
+
str = _tostring(value)
|
|
162
|
+
end
|
|
163
|
+
else
|
|
164
|
+
local auxTable = {}
|
|
165
|
+
table.foreach(value, function(i, v)
|
|
166
|
+
if (tonumber(i) ~= i) then
|
|
167
|
+
table.insert(auxTable, i)
|
|
168
|
+
else
|
|
169
|
+
table.insert(auxTable, tostring(i))
|
|
170
|
+
end
|
|
171
|
+
end)
|
|
172
|
+
table.sort(auxTable)
|
|
173
|
+
|
|
174
|
+
str = str..'{'
|
|
175
|
+
local separator = ""
|
|
176
|
+
local entry = ""
|
|
177
|
+
table.foreachi (auxTable, function (i, fieldName)
|
|
178
|
+
if ((tonumber(fieldName)) and (tonumber(fieldName) > 0)) then
|
|
179
|
+
entry = tostring(value[tonumber(fieldName)])
|
|
180
|
+
else
|
|
181
|
+
entry = fieldName.." = "..tostring(value[fieldName])
|
|
182
|
+
end
|
|
183
|
+
str = str..separator..entry
|
|
184
|
+
separator = ", "
|
|
185
|
+
end)
|
|
186
|
+
str = str..'}'
|
|
187
|
+
end
|
|
188
|
+
return str
|
|
189
|
+
end
|