Mercurial Hosting > luan
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 |
rev | line source |
---|---|
1353
8d95711f6615
replace java() with require "java"
Franklin Schmidt <fschmidt@gmail.com>
parents:
1316
diff
changeset
|
1 require "java" |
1685 | 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 | 4 local TableLuan = require "java:luan.modules.TableLuan" |
1447 | 5 local LuanParser = require "java:luan.modules.parsers.LuanParser" |
1280 | 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 | 12 Luan.get_local_cloned = BasicLuan.get_local_cloned |
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 | 22 Luan.pairs_local_cloned = BasicLuan.pairs_local_cloned |
23 Luan.pairs_local_only = BasicLuan.pairs_local_only | |
1447 | 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 | 30 Luan.set_local_cloned = BasicLuan.set_local_cloned |
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 | 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 | 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 | 54 if JavaLuan.args ~= nil then |
55 local args = TableLuan.toTable(JavaLuan.args) | |
1706 | 56 if #args > 0 then |
57 args[0] = TableLuan.remove(args,1) | |
58 end | |
1685 | 59 Luan.arg = args |
60 end | |
61 | |
1088
bae2d0c2576c
change module naming convention
Franklin Schmidt <fschmidt@gmail.com>
parents:
775
diff
changeset
|
62 return Luan |