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
@@ -0,0 +1,264 @@
|
|
1
|
+
--- Extract delimited Lua sequences from strings.
|
2
|
+
-- Inspired by Damian Conway's Text::Balanced in Perl. <br/>
|
3
|
+
-- <ul>
|
4
|
+
-- <li>[1] <a href="http://lua-users.org/wiki/LuaBalanced">Lua Wiki Page</a></li>
|
5
|
+
-- <li>[2] http://search.cpan.org/dist/Text-Balanced/lib/Text/Balanced.pm</li>
|
6
|
+
-- </ul> <br/>
|
7
|
+
-- <pre class=example>
|
8
|
+
-- local lb = require "pl.luabalanced"
|
9
|
+
-- --Extract Lua expression starting at position 4.
|
10
|
+
-- print(lb.match_expression("if x^2 + x > 5 then print(x) end", 4))
|
11
|
+
-- --> x^2 + x > 5 16
|
12
|
+
-- --Extract Lua string starting at (default) position 1.
|
13
|
+
-- print(lb.match_string([["test\"123" .. "more"]]))
|
14
|
+
-- --> "test\"123" 12
|
15
|
+
-- </pre>
|
16
|
+
-- (c) 2008, David Manura, Licensed under the same terms as Lua (MIT license).
|
17
|
+
-- @class module
|
18
|
+
-- @name pl.luabalanced
|
19
|
+
|
20
|
+
local M = {}
|
21
|
+
|
22
|
+
local assert = assert
|
23
|
+
local table_concat = table.concat
|
24
|
+
|
25
|
+
-- map opening brace <-> closing brace.
|
26
|
+
local ends = { ['('] = ')', ['{'] = '}', ['['] = ']' }
|
27
|
+
local begins = {}; for k,v in pairs(ends) do begins[v] = k end
|
28
|
+
|
29
|
+
|
30
|
+
-- Match Lua string in string <s> starting at position <pos>.
|
31
|
+
-- Returns <string>, <posnew>, where <string> is the matched
|
32
|
+
-- string (or nil on no match) and <posnew> is the character
|
33
|
+
-- following the match (or <pos> on no match).
|
34
|
+
-- Supports all Lua string syntax: "...", '...', [[...]], [=[...]=], etc.
|
35
|
+
local function match_string(s, pos)
|
36
|
+
pos = pos or 1
|
37
|
+
local posa = pos
|
38
|
+
local c = s:sub(pos,pos)
|
39
|
+
if c == '"' or c == "'" then
|
40
|
+
pos = pos + 1
|
41
|
+
while 1 do
|
42
|
+
pos = assert(s:find("[" .. c .. "\\]", pos), 'syntax error')
|
43
|
+
if s:sub(pos,pos) == c then
|
44
|
+
local part = s:sub(posa, pos)
|
45
|
+
return part, pos + 1
|
46
|
+
else
|
47
|
+
pos = pos + 2
|
48
|
+
end
|
49
|
+
end
|
50
|
+
else
|
51
|
+
local sc = s:match("^%[(=*)%[", pos)
|
52
|
+
if sc then
|
53
|
+
local _; _, pos = s:find("%]" .. sc .. "%]", pos)
|
54
|
+
assert(pos)
|
55
|
+
local part = s:sub(posa, pos)
|
56
|
+
return part, pos + 1
|
57
|
+
else
|
58
|
+
return nil, pos
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
M.match_string = match_string
|
63
|
+
|
64
|
+
|
65
|
+
-- Match bracketed Lua expression, e.g. "(...)", "{...}", "[...]", "[[...]]",
|
66
|
+
-- [=[...]=], etc.
|
67
|
+
-- Function interface is similar to match_string.
|
68
|
+
local function match_bracketed(s, pos)
|
69
|
+
pos = pos or 1
|
70
|
+
local posa = pos
|
71
|
+
local ca = s:sub(pos,pos)
|
72
|
+
if not ends[ca] then
|
73
|
+
return nil, pos
|
74
|
+
end
|
75
|
+
local stack = {}
|
76
|
+
while 1 do
|
77
|
+
pos = s:find('[%(%{%[%)%}%]\"\']', pos)
|
78
|
+
assert(pos, 'syntax error: unbalanced')
|
79
|
+
local c = s:sub(pos,pos)
|
80
|
+
if c == '"' or c == "'" then
|
81
|
+
local part; part, pos = match_string(s, pos)
|
82
|
+
assert(part)
|
83
|
+
elseif ends[c] then -- open
|
84
|
+
local mid, posb
|
85
|
+
if c == '[' then mid, posb = s:match('^%[(=*)%[()', pos) end
|
86
|
+
if mid then
|
87
|
+
pos = s:match('%]' .. mid .. '%]()', posb)
|
88
|
+
assert(pos, 'syntax error: long string not terminated')
|
89
|
+
if #stack == 0 then
|
90
|
+
local part = s:sub(posa, pos-1)
|
91
|
+
return part, pos
|
92
|
+
end
|
93
|
+
else
|
94
|
+
stack[#stack+1] = c
|
95
|
+
pos = pos + 1
|
96
|
+
end
|
97
|
+
else -- close
|
98
|
+
assert(stack[#stack] == assert(begins[c]), 'syntax error: unbalanced')
|
99
|
+
stack[#stack] = nil
|
100
|
+
if #stack == 0 then
|
101
|
+
local part = s:sub(posa, pos)
|
102
|
+
return part, pos+1
|
103
|
+
end
|
104
|
+
pos = pos + 1
|
105
|
+
end
|
106
|
+
end
|
107
|
+
end
|
108
|
+
M.match_bracketed = match_bracketed
|
109
|
+
|
110
|
+
|
111
|
+
-- Match Lua comment, e.g. "--...\n", "--[[...]]", "--[=[...]=]", etc.
|
112
|
+
-- Function interface is similar to match_string.
|
113
|
+
local function match_comment(s, pos)
|
114
|
+
pos = pos or 1
|
115
|
+
if s:sub(pos, pos+1) ~= '--' then
|
116
|
+
return nil, pos
|
117
|
+
end
|
118
|
+
pos = pos + 2
|
119
|
+
local partt, post = match_string(s, pos)
|
120
|
+
if partt then
|
121
|
+
return '--' .. partt, post
|
122
|
+
end
|
123
|
+
local part; part, pos = s:match('^([^\n]*\n?)()', pos)
|
124
|
+
return '--' .. part, pos
|
125
|
+
end
|
126
|
+
|
127
|
+
|
128
|
+
-- Match Lua expression, e.g. "a + b * c[e]".
|
129
|
+
-- Function interface is similar to match_string.
|
130
|
+
local wordop = {['and']=true, ['or']=true, ['not']=true}
|
131
|
+
local is_compare = {['>']=true, ['<']=true, ['~']=true}
|
132
|
+
local function match_expression(s, pos)
|
133
|
+
pos = pos or 1
|
134
|
+
local posa = pos
|
135
|
+
local lastident
|
136
|
+
local poscs, posce
|
137
|
+
while pos do
|
138
|
+
local c = s:sub(pos,pos)
|
139
|
+
if c == '"' or c == "'" or c == '[' and s:find('^[=%[]', pos+1) then
|
140
|
+
local part; part, pos = match_string(s, pos)
|
141
|
+
assert(part, 'syntax error')
|
142
|
+
elseif c == '-' and s:sub(pos+1,pos+1) == '-' then
|
143
|
+
-- note: handle adjacent comments in loop to properly support
|
144
|
+
-- backtracing (poscs/posce).
|
145
|
+
poscs = pos
|
146
|
+
while s:sub(pos,pos+1) == '--' do
|
147
|
+
local part; part, pos = match_comment(s, pos)
|
148
|
+
assert(part)
|
149
|
+
pos = s:match('^%s*()', pos)
|
150
|
+
posce = pos
|
151
|
+
end
|
152
|
+
elseif c == '(' or c == '{' or c == '[' then
|
153
|
+
local part; part, pos = match_bracketed(s, pos)
|
154
|
+
elseif c == '=' and s:sub(pos+1,pos+1) == '=' then
|
155
|
+
pos = pos + 2 -- skip over two-char op containing '='
|
156
|
+
elseif c == '=' and is_compare[s:sub(pos-1,pos-1)] then
|
157
|
+
pos = pos + 1 -- skip over two-char op containing '='
|
158
|
+
elseif c:match'^[%)%}%];,=]' then
|
159
|
+
local part = s:sub(posa, pos-1)
|
160
|
+
return part, pos
|
161
|
+
elseif c:match'^[%w_]' then
|
162
|
+
local newident,newpos = s:match('^([%w_]+)()', pos)
|
163
|
+
if pos ~= posa and not wordop[newident] then -- non-first ident
|
164
|
+
local pose = ((posce == pos) and poscs or pos) - 1
|
165
|
+
while s:match('^%s', pose) do pose = pose - 1 end
|
166
|
+
local ce = s:sub(pose,pose)
|
167
|
+
if ce:match'[%)%}\'\"%]]' or
|
168
|
+
ce:match'[%w_]' and not wordop[lastident]
|
169
|
+
then
|
170
|
+
local part = s:sub(posa, pos-1)
|
171
|
+
return part, pos
|
172
|
+
end
|
173
|
+
end
|
174
|
+
lastident, pos = newident, newpos
|
175
|
+
else
|
176
|
+
pos = pos + 1
|
177
|
+
end
|
178
|
+
pos = s:find('[%(%{%[%)%}%]\"\';,=%w_%-]', pos)
|
179
|
+
end
|
180
|
+
local part = s:sub(posa, #s)
|
181
|
+
return part, #s+1
|
182
|
+
end
|
183
|
+
M.match_expression = match_expression
|
184
|
+
|
185
|
+
|
186
|
+
-- Match name list (zero or more names). E.g. "a,b,c"
|
187
|
+
-- Function interface is similar to match_string,
|
188
|
+
-- but returns array as match.
|
189
|
+
local function match_namelist(s, pos)
|
190
|
+
pos = pos or 1
|
191
|
+
local list = {}
|
192
|
+
while 1 do
|
193
|
+
local c = #list == 0 and '^' or '^%s*,%s*'
|
194
|
+
local item, post = s:match(c .. '([%a_][%w_]*)%s*()', pos)
|
195
|
+
if item then pos = post else break end
|
196
|
+
list[#list+1] = item
|
197
|
+
end
|
198
|
+
return list, pos
|
199
|
+
end
|
200
|
+
M.match_namelist = match_namelist
|
201
|
+
|
202
|
+
|
203
|
+
-- Match expression list (zero or more expressions). E.g. "a+b,b*c".
|
204
|
+
-- Function interface is similar to match_string,
|
205
|
+
-- but returns array as match.
|
206
|
+
local function match_explist(s, pos)
|
207
|
+
pos = pos or 1
|
208
|
+
local list = {}
|
209
|
+
while 1 do
|
210
|
+
if #list ~= 0 then
|
211
|
+
local post = s:match('^%s*,%s*()', pos)
|
212
|
+
if post then pos = post else break end
|
213
|
+
end
|
214
|
+
local item; item, pos = match_expression(s, pos)
|
215
|
+
assert(item, 'syntax error')
|
216
|
+
list[#list+1] = item
|
217
|
+
end
|
218
|
+
return list, pos
|
219
|
+
end
|
220
|
+
M.match_explist = match_explist
|
221
|
+
|
222
|
+
|
223
|
+
-- Replace snippets of code in Lua code string <s>
|
224
|
+
-- using replacement function f(u,sin) --> sout.
|
225
|
+
-- <u> is the type of snippet ('c' = comment, 's' = string,
|
226
|
+
-- 'e' = any other code).
|
227
|
+
-- Snippet is replaced with <sout> (unless <sout> is nil or false, in
|
228
|
+
-- which case the original snippet is kept)
|
229
|
+
-- This is somewhat analogous to string.gsub .
|
230
|
+
local function gsub(s, f)
|
231
|
+
local pos = 1
|
232
|
+
local posa = 1
|
233
|
+
local sret = ''
|
234
|
+
while 1 do
|
235
|
+
pos = s:find('[%-\'\"%[]', pos)
|
236
|
+
if not pos then break end
|
237
|
+
if s:match('^%-%-', pos) then
|
238
|
+
local exp = s:sub(posa, pos-1)
|
239
|
+
if #exp > 0 then sret = sret .. (f('e', exp) or exp) end
|
240
|
+
local comment; comment, pos = match_comment(s, pos)
|
241
|
+
sret = sret .. (f('c', assert(comment)) or comment)
|
242
|
+
posa = pos
|
243
|
+
else
|
244
|
+
local posb = s:find('^[\'\"%[]', pos)
|
245
|
+
local str
|
246
|
+
if posb then str, pos = match_string(s, posb) end
|
247
|
+
if str then
|
248
|
+
local exp = s:sub(posa, posb-1)
|
249
|
+
if #exp > 0 then sret = sret .. (f('e', exp) or exp) end
|
250
|
+
sret = sret .. (f('s', str) or str)
|
251
|
+
posa = pos
|
252
|
+
else
|
253
|
+
pos = pos + 1
|
254
|
+
end
|
255
|
+
end
|
256
|
+
end
|
257
|
+
local exp = s:sub(posa)
|
258
|
+
if #exp > 0 then sret = sret .. (f('e', exp) or exp) end
|
259
|
+
return sret
|
260
|
+
end
|
261
|
+
M.gsub = gsub
|
262
|
+
|
263
|
+
|
264
|
+
return M
|
@@ -0,0 +1,201 @@
|
|
1
|
+
--- Lua operators available as functions.
|
2
|
+
--
|
3
|
+
-- (similar to the Python module of the same name)
|
4
|
+
--
|
5
|
+
-- There is a module field `optable` which maps the operator strings
|
6
|
+
-- onto these functions, e.g. `operator.optable['()']==operator.call`
|
7
|
+
--
|
8
|
+
-- Operator strings like '>' and '{}' can be passed to most Penlight functions
|
9
|
+
-- expecting a function argument.
|
10
|
+
--
|
11
|
+
-- Dependencies: `pl.utils`
|
12
|
+
-- @module pl.operator
|
13
|
+
|
14
|
+
local strfind = string.find
|
15
|
+
local utils = require 'pl.utils'
|
16
|
+
|
17
|
+
local operator = {}
|
18
|
+
|
19
|
+
--- apply function to some arguments ()
|
20
|
+
-- @param fn a function or callable object
|
21
|
+
-- @param ... arguments
|
22
|
+
function operator.call(fn,...)
|
23
|
+
return fn(...)
|
24
|
+
end
|
25
|
+
|
26
|
+
--- get the indexed value from a table []
|
27
|
+
-- @param t a table or any indexable object
|
28
|
+
-- @param k the key
|
29
|
+
function operator.index(t,k)
|
30
|
+
return t[k]
|
31
|
+
end
|
32
|
+
|
33
|
+
--- returns true if arguments are equal ==
|
34
|
+
-- @param a value
|
35
|
+
-- @param b value
|
36
|
+
function operator.eq(a,b)
|
37
|
+
return a==b
|
38
|
+
end
|
39
|
+
|
40
|
+
--- returns true if arguments are not equal ~=
|
41
|
+
-- @param a value
|
42
|
+
-- @param b value
|
43
|
+
function operator.neq(a,b)
|
44
|
+
return a~=b
|
45
|
+
end
|
46
|
+
|
47
|
+
--- returns true if a is less than b <
|
48
|
+
-- @param a value
|
49
|
+
-- @param b value
|
50
|
+
function operator.lt(a,b)
|
51
|
+
return a < b
|
52
|
+
end
|
53
|
+
|
54
|
+
--- returns true if a is less or equal to b <=
|
55
|
+
-- @param a value
|
56
|
+
-- @param b value
|
57
|
+
function operator.le(a,b)
|
58
|
+
return a <= b
|
59
|
+
end
|
60
|
+
|
61
|
+
--- returns true if a is greater than b >
|
62
|
+
-- @param a value
|
63
|
+
-- @param b value
|
64
|
+
function operator.gt(a,b)
|
65
|
+
return a > b
|
66
|
+
end
|
67
|
+
|
68
|
+
--- returns true if a is greater or equal to b >=
|
69
|
+
-- @param a value
|
70
|
+
-- @param b value
|
71
|
+
function operator.ge(a,b)
|
72
|
+
return a >= b
|
73
|
+
end
|
74
|
+
|
75
|
+
--- returns length of string or table #
|
76
|
+
-- @param a a string or a table
|
77
|
+
function operator.len(a)
|
78
|
+
return #a
|
79
|
+
end
|
80
|
+
|
81
|
+
--- add two values +
|
82
|
+
-- @param a value
|
83
|
+
-- @param b value
|
84
|
+
function operator.add(a,b)
|
85
|
+
return a+b
|
86
|
+
end
|
87
|
+
|
88
|
+
--- subtract b from a -
|
89
|
+
-- @param a value
|
90
|
+
-- @param b value
|
91
|
+
function operator.sub(a,b)
|
92
|
+
return a-b
|
93
|
+
end
|
94
|
+
|
95
|
+
--- multiply two values *
|
96
|
+
-- @param a value
|
97
|
+
-- @param b value
|
98
|
+
function operator.mul(a,b)
|
99
|
+
return a*b
|
100
|
+
end
|
101
|
+
|
102
|
+
--- divide first value by second /
|
103
|
+
-- @param a value
|
104
|
+
-- @param b value
|
105
|
+
function operator.div(a,b)
|
106
|
+
return a/b
|
107
|
+
end
|
108
|
+
|
109
|
+
--- raise first to the power of second ^
|
110
|
+
-- @param a value
|
111
|
+
-- @param b value
|
112
|
+
function operator.pow(a,b)
|
113
|
+
return a^b
|
114
|
+
end
|
115
|
+
|
116
|
+
--- modulo; remainder of a divided by b %
|
117
|
+
-- @param a value
|
118
|
+
-- @param b value
|
119
|
+
function operator.mod(a,b)
|
120
|
+
return a%b
|
121
|
+
end
|
122
|
+
|
123
|
+
--- concatenate two values (either strings or __concat defined) ..
|
124
|
+
-- @param a value
|
125
|
+
-- @param b value
|
126
|
+
function operator.concat(a,b)
|
127
|
+
return a..b
|
128
|
+
end
|
129
|
+
|
130
|
+
--- return the negative of a value -
|
131
|
+
-- @param a value
|
132
|
+
-- @param b value
|
133
|
+
function operator.unm(a)
|
134
|
+
return -a
|
135
|
+
end
|
136
|
+
|
137
|
+
--- false if value evaluates as true not
|
138
|
+
-- @param a value
|
139
|
+
function operator.lnot(a)
|
140
|
+
return not a
|
141
|
+
end
|
142
|
+
|
143
|
+
--- true if both values evaluate as true and
|
144
|
+
-- @param a value
|
145
|
+
-- @param b value
|
146
|
+
function operator.land(a,b)
|
147
|
+
return a and b
|
148
|
+
end
|
149
|
+
|
150
|
+
--- true if either value evaluate as true or
|
151
|
+
-- @param a value
|
152
|
+
-- @param b value
|
153
|
+
function operator.lor(a,b)
|
154
|
+
return a or b
|
155
|
+
end
|
156
|
+
|
157
|
+
--- make a table from the arguments {}
|
158
|
+
-- @param ... non-nil arguments
|
159
|
+
-- @return a table
|
160
|
+
function operator.table (...)
|
161
|
+
return {...}
|
162
|
+
end
|
163
|
+
|
164
|
+
--- match two strings ~
|
165
|
+
-- uses @{string.find}
|
166
|
+
function operator.match (a,b)
|
167
|
+
return strfind(a,b)~=nil
|
168
|
+
end
|
169
|
+
|
170
|
+
--- the null operation.
|
171
|
+
-- @param ... arguments
|
172
|
+
-- @return the arguments
|
173
|
+
function operator.nop (...)
|
174
|
+
return ...
|
175
|
+
end
|
176
|
+
|
177
|
+
operator.optable = {
|
178
|
+
['+']=operator.add,
|
179
|
+
['-']=operator.sub,
|
180
|
+
['*']=operator.mul,
|
181
|
+
['/']=operator.div,
|
182
|
+
['%']=operator.mod,
|
183
|
+
['^']=operator.pow,
|
184
|
+
['..']=operator.concat,
|
185
|
+
['()']=operator.call,
|
186
|
+
['[]']=operator.index,
|
187
|
+
['<']=operator.lt,
|
188
|
+
['<=']=operator.le,
|
189
|
+
['>']=operator.gt,
|
190
|
+
['>=']=operator.ge,
|
191
|
+
['==']=operator.eq,
|
192
|
+
['~=']=operator.neq,
|
193
|
+
['#']=operator.len,
|
194
|
+
['and']=operator.land,
|
195
|
+
['or']=operator.lor,
|
196
|
+
['{}']=operator.table,
|
197
|
+
['~']=operator.match,
|
198
|
+
['']=operator.nop,
|
199
|
+
}
|
200
|
+
|
201
|
+
return operator
|