annotate src/luan/modules/Luan.luan @ 1802:ca98dee04e08 default tip

add Parsers.json_null
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 21 Apr 2024 21:25:15 -0600
parents 164c6ea53147
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1353
8d95711f6615 replace java() with require "java"
Franklin Schmidt <fschmidt@gmail.com>
parents: 1316
diff changeset
1 require "java"
1685
46cf5137cb6b misc fixes
Franklin Schmidt <fschmidt@gmail.com>
parents: 1578
diff changeset
2 local JavaLuan = require "java:luan.Luan"
321
7f7708e8fdd4 remove import statement
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 320
diff changeset
3 local BasicLuan = require "java:luan.modules.BasicLuan"
1685
46cf5137cb6b misc fixes
Franklin Schmidt <fschmidt@gmail.com>
parents: 1578
diff changeset
4 local TableLuan = require "java:luan.modules.TableLuan"
1447
851b9a48cc44 Luan.parse
Franklin Schmidt <fschmidt@gmail.com>
parents: 1434
diff changeset
5 local LuanParser = require "java:luan.modules.parsers.LuanParser"
1280
781ec0a92bb5 add Boot.luan
Franklin Schmidt <fschmidt@gmail.com>
parents: 1261
diff changeset
6 local Boot = require "luan:Boot.luan"
297
899253043270 remove PackageLuan.load_lib()
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
7
1088
bae2d0c2576c change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
8 local Luan = {}
298
2ce23c7e2342 remove init.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 297
diff changeset
9
1316
11d3640e739d load_file returns nil for missing file
Franklin Schmidt <fschmidt@gmail.com>
parents: 1280
diff changeset
10 local error = Boot.error
11d3640e739d load_file returns nil for missing file
Franklin Schmidt <fschmidt@gmail.com>
parents: 1280
diff changeset
11 Luan.error = error
1578
c922446f53aa immutable threading
Franklin Schmidt <fschmidt@gmail.com>
parents: 1520
diff changeset
12 Luan.get_local_cloned = BasicLuan.get_local_cloned
c922446f53aa immutable threading
Franklin Schmidt <fschmidt@gmail.com>
parents: 1520
diff changeset
13 Luan.get_local_only = BasicLuan.get_local_only
1088
bae2d0c2576c change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
14 Luan.get_metatable = BasicLuan.get_metatable
1095
2443152dc2f1 add Luan.hash_code() and Table.hash_value()
Franklin Schmidt <fschmidt@gmail.com>
parents: 1088
diff changeset
15 Luan.hash_code = BasicLuan.hash_code
1088
bae2d0c2576c change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
16 Luan.ipairs = BasicLuan.ipairs
1434
56fb5cd8228d cache compiled code in temp files
Franklin Schmidt <fschmidt@gmail.com>
parents: 1424
diff changeset
17 local java_load = BasicLuan.load
56fb5cd8228d cache compiled code in temp files
Franklin Schmidt <fschmidt@gmail.com>
parents: 1424
diff changeset
18 local load_file = Boot.load_file
56fb5cd8228d cache compiled code in temp files
Franklin Schmidt <fschmidt@gmail.com>
parents: 1424
diff changeset
19 Luan.load_file = load_file
1088
bae2d0c2576c change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
20 Luan.new_error = BasicLuan.new_error
bae2d0c2576c change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
21 Luan.pairs = BasicLuan.pairs
1763
164c6ea53147 fix change_password
Franklin Schmidt <fschmidt@gmail.com>
parents: 1706
diff changeset
22 Luan.pairs_local_cloned = BasicLuan.pairs_local_cloned
164c6ea53147 fix change_password
Franklin Schmidt <fschmidt@gmail.com>
parents: 1706
diff changeset
23 Luan.pairs_local_only = BasicLuan.pairs_local_only
1447
851b9a48cc44 Luan.parse
Franklin Schmidt <fschmidt@gmail.com>
parents: 1434
diff changeset
24 Luan.parse = LuanParser.parse
1088
bae2d0c2576c change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
25 Luan.range = BasicLuan.range
bae2d0c2576c change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
26 Luan.raw_equal = BasicLuan.raw_equal
bae2d0c2576c change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
27 Luan.raw_get = BasicLuan.raw_get
bae2d0c2576c change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
28 Luan.raw_len = BasicLuan.raw_len
bae2d0c2576c change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
29 Luan.raw_set = BasicLuan.raw_set
1578
c922446f53aa immutable threading
Franklin Schmidt <fschmidt@gmail.com>
parents: 1520
diff changeset
30 Luan.set_local_cloned = BasicLuan.set_local_cloned
c922446f53aa immutable threading
Franklin Schmidt <fschmidt@gmail.com>
parents: 1520
diff changeset
31 Luan.set_local_only = BasicLuan.set_local_only
1088
bae2d0c2576c change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
32 Luan.set_metatable = BasicLuan.set_metatable
1189
73d754b1889f add stringify
Franklin Schmidt <fschmidt@gmail.com>
parents: 1164
diff changeset
33 Luan.stringify = BasicLuan.stringify
1088
bae2d0c2576c change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
34 Luan.to_string = BasicLuan.to_string
bae2d0c2576c change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
35 Luan.type = BasicLuan.type
bae2d0c2576c change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
36 Luan.values = BasicLuan.values
503
92c3d22745b8 make _ENV optional
Franklin Schmidt <fschmidt@gmail.com>
parents: 482
diff changeset
37
1434
56fb5cd8228d cache compiled code in temp files
Franklin Schmidt <fschmidt@gmail.com>
parents: 1424
diff changeset
38 local function load(text,source_name,env,persist)
56fb5cd8228d cache compiled code in temp files
Franklin Schmidt <fschmidt@gmail.com>
parents: 1424
diff changeset
39 return java_load( text, source_name or "load", persist==true, env )
56fb5cd8228d cache compiled code in temp files
Franklin Schmidt <fschmidt@gmail.com>
parents: 1424
diff changeset
40 end
56fb5cd8228d cache compiled code in temp files
Franklin Schmidt <fschmidt@gmail.com>
parents: 1424
diff changeset
41 Luan.load = load
56fb5cd8228d cache compiled code in temp files
Franklin Schmidt <fschmidt@gmail.com>
parents: 1424
diff changeset
42
1088
bae2d0c2576c change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
43 function Luan.do_file(uri)
1434
56fb5cd8228d cache compiled code in temp files
Franklin Schmidt <fschmidt@gmail.com>
parents: 1424
diff changeset
44 local fn = load_file(uri) or error("file '"..uri.."' not found")
1316
11d3640e739d load_file returns nil for missing file
Franklin Schmidt <fschmidt@gmail.com>
parents: 1280
diff changeset
45 return fn()
473
bab5607a0eed move do_file implementation to luan
Franklin Schmidt <fschmidt@gmail.com>
parents: 448
diff changeset
46 end
bab5607a0eed move do_file implementation to luan
Franklin Schmidt <fschmidt@gmail.com>
parents: 448
diff changeset
47
1088
bae2d0c2576c change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
48 Luan.VERSION = Luan.do_file "classpath:luan/version.luan"
442
75ccb4da803f move assert() implementation to luan
Franklin Schmidt <fschmidt@gmail.com>
parents: 441
diff changeset
49
1395
9dfff82dfc59 finish postgres work
Franklin Schmidt <fschmidt@gmail.com>
parents: 1353
diff changeset
50 function Luan.eval(s,source_name,env)
1434
56fb5cd8228d cache compiled code in temp files
Franklin Schmidt <fschmidt@gmail.com>
parents: 1424
diff changeset
51 return load( "return "..s, source_name or "eval", env )()
694
b620b8e1010f remove Luan.load() allow_expression param and add Luan.eval()
Franklin Schmidt <fschmidt@gmail.com>
parents: 693
diff changeset
52 end
b620b8e1010f remove Luan.load() allow_expression param and add Luan.eval()
Franklin Schmidt <fschmidt@gmail.com>
parents: 693
diff changeset
53
1685
46cf5137cb6b misc fixes
Franklin Schmidt <fschmidt@gmail.com>
parents: 1578
diff changeset
54 if JavaLuan.args ~= nil then
46cf5137cb6b misc fixes
Franklin Schmidt <fschmidt@gmail.com>
parents: 1578
diff changeset
55 local args = TableLuan.toTable(JavaLuan.args)
1706
93b9fd13a06c Luan.arg fix
Franklin Schmidt <fschmidt@gmail.com>
parents: 1685
diff changeset
56 if #args > 0 then
93b9fd13a06c Luan.arg fix
Franklin Schmidt <fschmidt@gmail.com>
parents: 1685
diff changeset
57 args[0] = TableLuan.remove(args,1)
93b9fd13a06c Luan.arg fix
Franklin Schmidt <fschmidt@gmail.com>
parents: 1685
diff changeset
58 end
1685
46cf5137cb6b misc fixes
Franklin Schmidt <fschmidt@gmail.com>
parents: 1578
diff changeset
59 Luan.arg = args
46cf5137cb6b misc fixes
Franklin Schmidt <fschmidt@gmail.com>
parents: 1578
diff changeset
60 end
46cf5137cb6b misc fixes
Franklin Schmidt <fschmidt@gmail.com>
parents: 1578
diff changeset
61
1088
bae2d0c2576c change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents: 775
diff changeset
62 return Luan