nendo 0.4.0 → 0.4.1
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.
- data/lib/init.nndc +1 -1
- data/lib/nendo.rb +67 -41
- data/lib/rfc/json.nnd +106 -0
- data/lib/rfc/json.nndc +688 -0
- data/test/json-test.nnd +178 -0
- data/test/nendo_spec.rb +17 -6
- data/test/{textlib.nnd → textlib-test.nnd} +0 -0
- data/test/{nendo_util.nnd → util-test.nnd} +4 -4
- metadata +10 -11
data/lib/init.nndc
CHANGED
@@ -16186,7 +16186,7 @@ trampCall(
|
|
16186
16186
|
rescue => __e ; __e.set_backtrace( ["./lib/init.nnd:1070"] + __e.backtrace ) ; raise __e
|
16187
16187
|
end ,
|
16188
16188
|
[
|
16189
|
-
Regexp.new( "^([.]
|
16189
|
+
Regexp.new( "^([.]\\/|[.][.]\\/|\\/)") ,
|
16190
16190
|
begin
|
16191
16191
|
trampCall(_path)
|
16192
16192
|
rescue => __e ; __e.set_backtrace( ["./lib/init.nnd:1067"] + __e.backtrace ) ; raise __e
|
data/lib/nendo.rb
CHANGED
@@ -157,6 +157,9 @@ module Nendo
|
|
157
157
|
@exp = str[ 1 ... str.size ]
|
158
158
|
@ignoreCase = (str[0] == 'i')
|
159
159
|
end
|
160
|
+
def to_s
|
161
|
+
sprintf( "|%s|", @exp ) + (@ignoreCase ? "i" : "")
|
162
|
+
end
|
160
163
|
def escape
|
161
164
|
@exp.gsub( /\\/, "\\\\\\\\" )
|
162
165
|
end
|
@@ -429,12 +432,7 @@ module Nendo
|
|
429
432
|
if ch.chr == "\\" #escape
|
430
433
|
ch2 = @chReader.getc
|
431
434
|
#printf( " readRegexp2: [%s]\n", ch2 )
|
432
|
-
|
433
|
-
ret += ch2.chr # drop escape "\\" char
|
434
|
-
else
|
435
|
-
ret += ch.chr
|
436
|
-
ret += ch2.chr
|
437
|
-
end
|
435
|
+
ret += "\\" + ch2.chr
|
438
436
|
elsif ch.chr == '/'
|
439
437
|
break
|
440
438
|
else
|
@@ -1199,9 +1197,8 @@ module Nendo
|
|
1199
1197
|
end
|
1200
1198
|
|
1201
1199
|
def _hash_MIMARKtable_MIMARKget( h, key, *args )
|
1202
|
-
|
1203
|
-
|
1204
|
-
val
|
1200
|
+
if h.has_key?(key)
|
1201
|
+
h[key]
|
1205
1202
|
else
|
1206
1203
|
arr = args[0].to_arr
|
1207
1204
|
if 0 < arr.length
|
@@ -1303,6 +1300,7 @@ module Nendo
|
|
1303
1300
|
|
1304
1301
|
# call depth counter
|
1305
1302
|
@call_depth = 0
|
1303
|
+
@call_counters = Hash.new
|
1306
1304
|
|
1307
1305
|
# init optimize level
|
1308
1306
|
@optimize_level = 1
|
@@ -1488,7 +1486,17 @@ module Nendo
|
|
1488
1486
|
end
|
1489
1487
|
|
1490
1488
|
def callProcedure( origname, pred, args )
|
1491
|
-
|
1489
|
+
if @call_counters.has_key?( origname )
|
1490
|
+
@call_counters[ origname ] += 1
|
1491
|
+
else
|
1492
|
+
@call_counters[ origname ] = 1
|
1493
|
+
end
|
1494
|
+
|
1495
|
+
result = pred.call( *toRubyArgument( origname, pred, args ))
|
1496
|
+
|
1497
|
+
@call_counters[ origname ] -= 1
|
1498
|
+
|
1499
|
+
result
|
1492
1500
|
end
|
1493
1501
|
|
1494
1502
|
# for code generation of Ruby's argument values
|
@@ -1980,41 +1988,59 @@ module Nendo
|
|
1980
1988
|
}
|
1981
1989
|
end
|
1982
1990
|
|
1991
|
+
def displayTopOfCalls( exception )
|
1992
|
+
STDERR.puts( "\n <<< Top of calls >>>" )
|
1993
|
+
strs = []
|
1994
|
+
@call_counters.each_key { |funcname|
|
1995
|
+
if 0 < @call_counters[ funcname ]
|
1996
|
+
strs << sprintf( " %7d : %-20s", @call_counters[ funcname ], funcname )
|
1997
|
+
end
|
1998
|
+
}
|
1999
|
+
strs.sort.reverse.each { |str|
|
2000
|
+
STDERR.puts( str )
|
2001
|
+
}
|
2002
|
+
end
|
2003
|
+
|
1983
2004
|
def lispEval( sexp, sourcefile, lineno )
|
1984
|
-
|
1985
|
-
|
1986
|
-
|
1987
|
-
|
1988
|
-
|
1989
|
-
|
1990
|
-
|
1991
|
-
printf( "\n quoting=<<< %s >>>\n", (Printer.new())._print(sexp))
|
1992
|
-
end
|
1993
|
-
# compiling phase written in Nendo
|
1994
|
-
sym = toRubySymbol( "%compile-phase" )
|
1995
|
-
if ( eval( sprintf( "(defined? @%s and Proc == @%s.class)", sym,sym ), @binding ))
|
1996
|
-
eval( sprintf( "@___tmp = @%s", sym ), @binding )
|
1997
|
-
sexp = trampCall( callProcedure( sym, @___tmp, [ sexp ]))
|
2005
|
+
begin
|
2006
|
+
sourceInfo = SourceInfo.new
|
2007
|
+
@lastSourcefile = sourcefile
|
2008
|
+
@lastLineno = lineno
|
2009
|
+
sourceInfo.setSource( sourcefile, lineno, sexp )
|
2010
|
+
sexp = macroExpandPhase( sexp )
|
2011
|
+
sexp = quotingPhase( sexp )
|
1998
2012
|
if @debug
|
1999
|
-
printf( "\n
|
2013
|
+
printf( "\n quoting=<<< %s >>>\n", (Printer.new())._print(sexp))
|
2000
2014
|
end
|
2015
|
+
# compiling phase written in Nendo
|
2016
|
+
sym = toRubySymbol( "%compile-phase" )
|
2017
|
+
if ( eval( sprintf( "(defined? @%s and Proc == @%s.class)", sym,sym ), @binding ))
|
2018
|
+
eval( sprintf( "@___tmp = @%s", sym ), @binding )
|
2019
|
+
sexp = trampCall( callProcedure( sym, @___tmp, [ sexp ]))
|
2020
|
+
if @debug
|
2021
|
+
printf( "\n compiled=<<< %s >>>\n", (Printer.new())._print(sexp))
|
2022
|
+
end
|
2023
|
+
end
|
2024
|
+
sourceInfo.setExpanded( sexp )
|
2025
|
+
|
2026
|
+
arr = [ "trampCall( ", translate( sexp, [], sourceInfo ), " )" ]
|
2027
|
+
rubyExp = ppRubyExp( 0, arr ).flatten.join
|
2028
|
+
sourceInfo.setCompiled( rubyExp )
|
2029
|
+
if not @compiled_code.has_key?( sourcefile )
|
2030
|
+
@compiled_code[ sourcefile ] = Array.new
|
2031
|
+
end
|
2032
|
+
@compiled_code[ sourcefile ] << rubyExp
|
2033
|
+
if sourceInfo.varname
|
2034
|
+
@source_info_hash[ sourceInfo.varname ] = sourceInfo
|
2035
|
+
end
|
2036
|
+
printf( " rubyExp=<<<\n%s\n>>>\n", rubyExp ) if @debug
|
2037
|
+
eval( rubyExp, @binding, @lastSourcefile, @lastLineno )
|
2038
|
+
rescue SystemStackError => e
|
2039
|
+
displayTopOfCalls( e )
|
2040
|
+
raise e
|
2001
2041
|
end
|
2002
|
-
sourceInfo.setExpanded( sexp )
|
2003
|
-
|
2004
|
-
arr = [ "trampCall( ", translate( sexp, [], sourceInfo ), " )" ]
|
2005
|
-
rubyExp = ppRubyExp( 0, arr ).flatten.join
|
2006
|
-
sourceInfo.setCompiled( rubyExp )
|
2007
|
-
if not @compiled_code.has_key?( sourcefile )
|
2008
|
-
@compiled_code[ sourcefile ] = Array.new
|
2009
|
-
end
|
2010
|
-
@compiled_code[ sourcefile ] << rubyExp
|
2011
|
-
if sourceInfo.varname
|
2012
|
-
@source_info_hash[ sourceInfo.varname ] = sourceInfo
|
2013
|
-
end
|
2014
|
-
printf( " rubyExp=<<<\n%s\n>>>\n", rubyExp ) if @debug
|
2015
|
-
eval( rubyExp, @binding, @lastSourcefile, @lastLineno )
|
2016
2042
|
end
|
2017
|
-
|
2043
|
+
|
2018
2044
|
def __PAMARKload( filename )
|
2019
2045
|
printer = Printer.new( @debug )
|
2020
2046
|
open( filename, "r:utf-8" ) {|f|
|
@@ -2208,7 +2234,7 @@ module Nendo
|
|
2208
2234
|
end
|
2209
2235
|
|
2210
2236
|
def self.version
|
2211
|
-
"0.4.
|
2237
|
+
"0.4.1" ##NENDO-VERSION
|
2212
2238
|
end
|
2213
2239
|
|
2214
2240
|
def loadInitFile( use_compiled = true )
|
data/lib/rfc/json.nnd
ADDED
@@ -0,0 +1,106 @@
|
|
1
|
+
;;-*- mode: nendo; syntax: scheme -*-;;
|
2
|
+
;;;
|
3
|
+
;;; json.nnd - JSON parser and constructor
|
4
|
+
;;;
|
5
|
+
;;; Copyright (c) 2011 Kiyoka Nishiyama <kiyoka@sumibi.org>
|
6
|
+
;;;
|
7
|
+
;;; Redistribution and use in source and binary forms, with or without
|
8
|
+
;;; modification, are permitted provided that the following conditions
|
9
|
+
;;; are met:
|
10
|
+
;;;
|
11
|
+
;;; 1. Redistributions of source code must retain the above copyright
|
12
|
+
;;; notice, this list of conditions and the following disclaimer.
|
13
|
+
;;;
|
14
|
+
;;; 2. Redistributions in binary form must reproduce the above copyright
|
15
|
+
;;; notice, this list of conditions and the following disclaimer in the
|
16
|
+
;;; documentation and/or other materials provided with the distribution.
|
17
|
+
;;;
|
18
|
+
;;; 3. Neither the name of the authors nor the names of its contributors
|
19
|
+
;;; may be used to endorse or promote products derived from this
|
20
|
+
;;; software without specific prior written permission.
|
21
|
+
;;;
|
22
|
+
;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
23
|
+
;;; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
24
|
+
;;; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
25
|
+
;;; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
26
|
+
;;; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
27
|
+
;;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
|
28
|
+
;;; TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
29
|
+
;;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
30
|
+
;;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
31
|
+
;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
32
|
+
;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
33
|
+
;;;
|
34
|
+
;;; $Id:
|
35
|
+
;;;
|
36
|
+
|
37
|
+
(require "json")
|
38
|
+
|
39
|
+
|
40
|
+
;; ------------------------------
|
41
|
+
(define (%json:hash-table->alist obj)
|
42
|
+
(cond
|
43
|
+
((null? obj)
|
44
|
+
obj)
|
45
|
+
((vector? obj)
|
46
|
+
(list->vector
|
47
|
+
(map
|
48
|
+
(lambda (x)
|
49
|
+
(%json:hash-table->alist x))
|
50
|
+
(vector->list obj))))
|
51
|
+
((hash-table? obj)
|
52
|
+
(map
|
53
|
+
(lambda (entry)
|
54
|
+
(cons (car entry)
|
55
|
+
(%json:hash-table->alist (cdr entry))))
|
56
|
+
(hash-table->alist obj)))
|
57
|
+
(else
|
58
|
+
obj)))
|
59
|
+
|
60
|
+
(define (%json:alist->hash-table obj)
|
61
|
+
(cond
|
62
|
+
((null? obj)
|
63
|
+
(make-hash-table))
|
64
|
+
((vector? obj)
|
65
|
+
(list->vector
|
66
|
+
(map
|
67
|
+
(lambda (x)
|
68
|
+
(%json:alist->hash-table x))
|
69
|
+
(vector->list obj))))
|
70
|
+
((pair? obj)
|
71
|
+
(alist->hash-table
|
72
|
+
(map
|
73
|
+
(lambda (entry)
|
74
|
+
(cons (car entry)
|
75
|
+
(%json:alist->hash-table (cdr entry))))
|
76
|
+
obj)))
|
77
|
+
(else
|
78
|
+
obj)))
|
79
|
+
|
80
|
+
|
81
|
+
;; ------------------------------
|
82
|
+
;; parser
|
83
|
+
;; ------------------------------
|
84
|
+
(define (parse-json-string str)
|
85
|
+
(%json:hash-table->alist
|
86
|
+
(JSON.parse str)))
|
87
|
+
|
88
|
+
(define (parse-json . io)
|
89
|
+
(let* ((_ (get-optional io STDIN))
|
90
|
+
(str (_.read)))
|
91
|
+
(parse-json-string str)))
|
92
|
+
|
93
|
+
|
94
|
+
;; ------------------------------
|
95
|
+
;; writer
|
96
|
+
(define (construct-json-string obj)
|
97
|
+
(JSON.dump
|
98
|
+
(%json:alist->hash-table obj)))
|
99
|
+
|
100
|
+
(define (construct-json obj . io)
|
101
|
+
(let1 _ (get-optional io STDOUT)
|
102
|
+
(_.print
|
103
|
+
(construct-json-string obj))))
|
104
|
+
|
105
|
+
|
106
|
+
;;[EOS]
|
data/lib/rfc/json.nndc
ADDED
@@ -0,0 +1,688 @@
|
|
1
|
+
#
|
2
|
+
# This file is nendo's compiled library file.
|
3
|
+
# generated "nendo -c src" command.
|
4
|
+
#
|
5
|
+
|
6
|
+
trampCall(
|
7
|
+
delayCall( '_require', 'require',
|
8
|
+
begin
|
9
|
+
if @global_lisp_binding.has_key?('_require') then
|
10
|
+
trampCall(@_require)
|
11
|
+
else raise NameError.new( "Error: undefined variable _require", "_require" ) end
|
12
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:37"] + __e.backtrace ) ; raise __e
|
13
|
+
end ,
|
14
|
+
[
|
15
|
+
"json"
|
16
|
+
]
|
17
|
+
)
|
18
|
+
)
|
19
|
+
#--------------------
|
20
|
+
|
21
|
+
trampCall(
|
22
|
+
begin
|
23
|
+
def self.__PAMARKjson_COMARKhash_MIMARKtable_MIMARK_GTMARKalist_METHOD( origname, pred, args ) lispMethodEntry( origname, true ) ; ret = callProcedure( origname, pred, args ) ; lispMethodExit( origname, true ) ; return ret end
|
24
|
+
@global_lisp_binding['__PAMARKjson_COMARKhash_MIMARKtable_MIMARK_GTMARKalist'] = self.method( :__PAMARKjson_COMARKhash_MIMARKtable_MIMARK_GTMARKalist_METHOD )
|
25
|
+
@__PAMARKjson_COMARKhash_MIMARKtable_MIMARK_GTMARKalist =
|
26
|
+
trampCall(
|
27
|
+
Proc.new { |_obj|
|
28
|
+
if (
|
29
|
+
trampCall( self._null_QUMARK_METHOD( 'null?',
|
30
|
+
begin
|
31
|
+
if @global_lisp_binding.has_key?('_null_QUMARK') then
|
32
|
+
trampCall(@_null_QUMARK)
|
33
|
+
else raise NameError.new( "Error: undefined variable _null_QUMARK", "_null_QUMARK" ) end
|
34
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:43"] + __e.backtrace ) ; raise __e
|
35
|
+
end ,
|
36
|
+
[
|
37
|
+
begin
|
38
|
+
trampCall(_obj)
|
39
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:58"] + __e.backtrace ) ; raise __e
|
40
|
+
end
|
41
|
+
]
|
42
|
+
))
|
43
|
+
) then
|
44
|
+
begin
|
45
|
+
begin
|
46
|
+
trampCall(_obj)
|
47
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:58"] + __e.backtrace ) ; raise __e
|
48
|
+
end
|
49
|
+
end
|
50
|
+
else
|
51
|
+
if (
|
52
|
+
trampCall( self._vector_QUMARK_METHOD( 'vector?',
|
53
|
+
begin
|
54
|
+
if @global_lisp_binding.has_key?('_vector_QUMARK') then
|
55
|
+
trampCall(@_vector_QUMARK)
|
56
|
+
else raise NameError.new( "Error: undefined variable _vector_QUMARK", "_vector_QUMARK" ) end
|
57
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:45"] + __e.backtrace ) ; raise __e
|
58
|
+
end ,
|
59
|
+
[
|
60
|
+
begin
|
61
|
+
trampCall(_obj)
|
62
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:58"] + __e.backtrace ) ; raise __e
|
63
|
+
end
|
64
|
+
]
|
65
|
+
))
|
66
|
+
) then
|
67
|
+
begin
|
68
|
+
delayCall( '_list_MIMARK_GTMARKvector', 'list->vector',
|
69
|
+
begin
|
70
|
+
if @global_lisp_binding.has_key?('_list_MIMARK_GTMARKvector') then
|
71
|
+
trampCall(@_list_MIMARK_GTMARKvector)
|
72
|
+
else raise NameError.new( "Error: undefined variable _list_MIMARK_GTMARKvector", "_list_MIMARK_GTMARKvector" ) end
|
73
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:46"] + __e.backtrace ) ; raise __e
|
74
|
+
end ,
|
75
|
+
[
|
76
|
+
trampCall( self._map_METHOD( 'map',
|
77
|
+
begin
|
78
|
+
if @global_lisp_binding.has_key?('_map') then
|
79
|
+
trampCall(@_map)
|
80
|
+
else raise NameError.new( "Error: undefined variable _map", "_map" ) end
|
81
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:52"] + __e.backtrace ) ; raise __e
|
82
|
+
end ,
|
83
|
+
[
|
84
|
+
Proc.new { |_x|
|
85
|
+
trampCall( self.__PAMARKjson_COMARKhash_MIMARKtable_MIMARK_GTMARKalist_METHOD( '%json:hash-table->alist',
|
86
|
+
begin
|
87
|
+
if @global_lisp_binding.has_key?('__PAMARKjson_COMARKhash_MIMARKtable_MIMARK_GTMARKalist') then
|
88
|
+
trampCall(@__PAMARKjson_COMARKhash_MIMARKtable_MIMARK_GTMARKalist)
|
89
|
+
else raise NameError.new( "Error: undefined variable __PAMARKjson_COMARKhash_MIMARKtable_MIMARK_GTMARKalist", "__PAMARKjson_COMARKhash_MIMARKtable_MIMARK_GTMARKalist" ) end
|
90
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:55"] + __e.backtrace ) ; raise __e
|
91
|
+
end ,
|
92
|
+
[
|
93
|
+
begin
|
94
|
+
trampCall(_x)
|
95
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:49"] + __e.backtrace ) ; raise __e
|
96
|
+
end
|
97
|
+
]
|
98
|
+
))
|
99
|
+
} ,
|
100
|
+
trampCall( self._vector_MIMARK_GTMARKlist_METHOD( 'vector->list',
|
101
|
+
begin
|
102
|
+
if @global_lisp_binding.has_key?('_vector_MIMARK_GTMARKlist') then
|
103
|
+
trampCall(@_vector_MIMARK_GTMARKlist)
|
104
|
+
else raise NameError.new( "Error: undefined variable _vector_MIMARK_GTMARKlist", "_vector_MIMARK_GTMARKlist" ) end
|
105
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:50"] + __e.backtrace ) ; raise __e
|
106
|
+
end ,
|
107
|
+
[
|
108
|
+
begin
|
109
|
+
trampCall(_obj)
|
110
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:58"] + __e.backtrace ) ; raise __e
|
111
|
+
end
|
112
|
+
]
|
113
|
+
))
|
114
|
+
]
|
115
|
+
))
|
116
|
+
]
|
117
|
+
)
|
118
|
+
end
|
119
|
+
else
|
120
|
+
if (
|
121
|
+
trampCall( self._hash_MIMARKtable_QUMARK_METHOD( 'hash-table?',
|
122
|
+
begin
|
123
|
+
if @global_lisp_binding.has_key?('_hash_MIMARKtable_QUMARK') then
|
124
|
+
trampCall(@_hash_MIMARKtable_QUMARK)
|
125
|
+
else raise NameError.new( "Error: undefined variable _hash_MIMARKtable_QUMARK", "_hash_MIMARKtable_QUMARK" ) end
|
126
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:51"] + __e.backtrace ) ; raise __e
|
127
|
+
end ,
|
128
|
+
[
|
129
|
+
begin
|
130
|
+
trampCall(_obj)
|
131
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:58"] + __e.backtrace ) ; raise __e
|
132
|
+
end
|
133
|
+
]
|
134
|
+
))
|
135
|
+
) then
|
136
|
+
begin
|
137
|
+
delayCall( '_map', 'map',
|
138
|
+
begin
|
139
|
+
if @global_lisp_binding.has_key?('_map') then
|
140
|
+
trampCall(@_map)
|
141
|
+
else raise NameError.new( "Error: undefined variable _map", "_map" ) end
|
142
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:52"] + __e.backtrace ) ; raise __e
|
143
|
+
end ,
|
144
|
+
[
|
145
|
+
Proc.new { |_entry|
|
146
|
+
trampCall( self._cons_METHOD( 'cons',
|
147
|
+
begin
|
148
|
+
if @global_lisp_binding.has_key?('_cons') then
|
149
|
+
trampCall(@_cons)
|
150
|
+
else raise NameError.new( "Error: undefined variable _cons", "_cons" ) end
|
151
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:54"] + __e.backtrace ) ; raise __e
|
152
|
+
end ,
|
153
|
+
[
|
154
|
+
trampCall( self._car_METHOD( 'car',
|
155
|
+
begin
|
156
|
+
if @global_lisp_binding.has_key?('_car') then
|
157
|
+
trampCall(@_car)
|
158
|
+
else raise NameError.new( "Error: undefined variable _car", "_car" ) end
|
159
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:54"] + __e.backtrace ) ; raise __e
|
160
|
+
end ,
|
161
|
+
[
|
162
|
+
begin
|
163
|
+
trampCall(_entry)
|
164
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:55"] + __e.backtrace ) ; raise __e
|
165
|
+
end
|
166
|
+
]
|
167
|
+
)) ,
|
168
|
+
trampCall( self.__PAMARKjson_COMARKhash_MIMARKtable_MIMARK_GTMARKalist_METHOD( '%json:hash-table->alist',
|
169
|
+
begin
|
170
|
+
if @global_lisp_binding.has_key?('__PAMARKjson_COMARKhash_MIMARKtable_MIMARK_GTMARKalist') then
|
171
|
+
trampCall(@__PAMARKjson_COMARKhash_MIMARKtable_MIMARK_GTMARKalist)
|
172
|
+
else raise NameError.new( "Error: undefined variable __PAMARKjson_COMARKhash_MIMARKtable_MIMARK_GTMARKalist", "__PAMARKjson_COMARKhash_MIMARKtable_MIMARK_GTMARKalist" ) end
|
173
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:55"] + __e.backtrace ) ; raise __e
|
174
|
+
end ,
|
175
|
+
[
|
176
|
+
trampCall( self._cdr_METHOD( 'cdr',
|
177
|
+
begin
|
178
|
+
if @global_lisp_binding.has_key?('_cdr') then
|
179
|
+
trampCall(@_cdr)
|
180
|
+
else raise NameError.new( "Error: undefined variable _cdr", "_cdr" ) end
|
181
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:55"] + __e.backtrace ) ; raise __e
|
182
|
+
end ,
|
183
|
+
[
|
184
|
+
begin
|
185
|
+
trampCall(_entry)
|
186
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:55"] + __e.backtrace ) ; raise __e
|
187
|
+
end
|
188
|
+
]
|
189
|
+
))
|
190
|
+
]
|
191
|
+
))
|
192
|
+
]
|
193
|
+
))
|
194
|
+
} ,
|
195
|
+
trampCall( self._hash_MIMARKtable_MIMARK_GTMARKalist_METHOD( 'hash-table->alist',
|
196
|
+
begin
|
197
|
+
if @global_lisp_binding.has_key?('_hash_MIMARKtable_MIMARK_GTMARKalist') then
|
198
|
+
trampCall(@_hash_MIMARKtable_MIMARK_GTMARKalist)
|
199
|
+
else raise NameError.new( "Error: undefined variable _hash_MIMARKtable_MIMARK_GTMARKalist", "_hash_MIMARKtable_MIMARK_GTMARKalist" ) end
|
200
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:56"] + __e.backtrace ) ; raise __e
|
201
|
+
end ,
|
202
|
+
[
|
203
|
+
begin
|
204
|
+
trampCall(_obj)
|
205
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:58"] + __e.backtrace ) ; raise __e
|
206
|
+
end
|
207
|
+
]
|
208
|
+
))
|
209
|
+
]
|
210
|
+
)
|
211
|
+
end
|
212
|
+
else
|
213
|
+
if (
|
214
|
+
true
|
215
|
+
) then
|
216
|
+
begin
|
217
|
+
begin
|
218
|
+
trampCall(_obj)
|
219
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:58"] + __e.backtrace ) ; raise __e
|
220
|
+
end
|
221
|
+
end
|
222
|
+
else
|
223
|
+
Cell.new()
|
224
|
+
end
|
225
|
+
end
|
226
|
+
end
|
227
|
+
end
|
228
|
+
}
|
229
|
+
)
|
230
|
+
end
|
231
|
+
)
|
232
|
+
#--------------------
|
233
|
+
|
234
|
+
trampCall(
|
235
|
+
begin
|
236
|
+
def self.__PAMARKjson_COMARKalist_MIMARK_GTMARKhash_MIMARKtable_METHOD( origname, pred, args ) lispMethodEntry( origname, true ) ; ret = callProcedure( origname, pred, args ) ; lispMethodExit( origname, true ) ; return ret end
|
237
|
+
@global_lisp_binding['__PAMARKjson_COMARKalist_MIMARK_GTMARKhash_MIMARKtable'] = self.method( :__PAMARKjson_COMARKalist_MIMARK_GTMARKhash_MIMARKtable_METHOD )
|
238
|
+
@__PAMARKjson_COMARKalist_MIMARK_GTMARKhash_MIMARKtable =
|
239
|
+
trampCall(
|
240
|
+
Proc.new { |_obj|
|
241
|
+
if (
|
242
|
+
trampCall( self._null_QUMARK_METHOD( 'null?',
|
243
|
+
begin
|
244
|
+
if @global_lisp_binding.has_key?('_null_QUMARK') then
|
245
|
+
trampCall(@_null_QUMARK)
|
246
|
+
else raise NameError.new( "Error: undefined variable _null_QUMARK", "_null_QUMARK" ) end
|
247
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:62"] + __e.backtrace ) ; raise __e
|
248
|
+
end ,
|
249
|
+
[
|
250
|
+
begin
|
251
|
+
trampCall(_obj)
|
252
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:78"] + __e.backtrace ) ; raise __e
|
253
|
+
end
|
254
|
+
]
|
255
|
+
))
|
256
|
+
) then
|
257
|
+
begin
|
258
|
+
delayCall( '_make_MIMARKhash_MIMARKtable', 'make-hash-table',
|
259
|
+
begin
|
260
|
+
if @global_lisp_binding.has_key?('_make_MIMARKhash_MIMARKtable') then
|
261
|
+
trampCall(@_make_MIMARKhash_MIMARKtable)
|
262
|
+
else raise NameError.new( "Error: undefined variable _make_MIMARKhash_MIMARKtable", "_make_MIMARKhash_MIMARKtable" ) end
|
263
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:63"] + __e.backtrace ) ; raise __e
|
264
|
+
end ,
|
265
|
+
[
|
266
|
+
]
|
267
|
+
)
|
268
|
+
end
|
269
|
+
else
|
270
|
+
if (
|
271
|
+
trampCall( self._vector_QUMARK_METHOD( 'vector?',
|
272
|
+
begin
|
273
|
+
if @global_lisp_binding.has_key?('_vector_QUMARK') then
|
274
|
+
trampCall(@_vector_QUMARK)
|
275
|
+
else raise NameError.new( "Error: undefined variable _vector_QUMARK", "_vector_QUMARK" ) end
|
276
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:64"] + __e.backtrace ) ; raise __e
|
277
|
+
end ,
|
278
|
+
[
|
279
|
+
begin
|
280
|
+
trampCall(_obj)
|
281
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:78"] + __e.backtrace ) ; raise __e
|
282
|
+
end
|
283
|
+
]
|
284
|
+
))
|
285
|
+
) then
|
286
|
+
begin
|
287
|
+
delayCall( '_list_MIMARK_GTMARKvector', 'list->vector',
|
288
|
+
begin
|
289
|
+
if @global_lisp_binding.has_key?('_list_MIMARK_GTMARKvector') then
|
290
|
+
trampCall(@_list_MIMARK_GTMARKvector)
|
291
|
+
else raise NameError.new( "Error: undefined variable _list_MIMARK_GTMARKvector", "_list_MIMARK_GTMARKvector" ) end
|
292
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:65"] + __e.backtrace ) ; raise __e
|
293
|
+
end ,
|
294
|
+
[
|
295
|
+
trampCall( self._map_METHOD( 'map',
|
296
|
+
begin
|
297
|
+
if @global_lisp_binding.has_key?('_map') then
|
298
|
+
trampCall(@_map)
|
299
|
+
else raise NameError.new( "Error: undefined variable _map", "_map" ) end
|
300
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:72"] + __e.backtrace ) ; raise __e
|
301
|
+
end ,
|
302
|
+
[
|
303
|
+
Proc.new { |_x|
|
304
|
+
trampCall( self.__PAMARKjson_COMARKalist_MIMARK_GTMARKhash_MIMARKtable_METHOD( '%json:alist->hash-table',
|
305
|
+
begin
|
306
|
+
if @global_lisp_binding.has_key?('__PAMARKjson_COMARKalist_MIMARK_GTMARKhash_MIMARKtable') then
|
307
|
+
trampCall(@__PAMARKjson_COMARKalist_MIMARK_GTMARKhash_MIMARKtable)
|
308
|
+
else raise NameError.new( "Error: undefined variable __PAMARKjson_COMARKalist_MIMARK_GTMARKhash_MIMARKtable", "__PAMARKjson_COMARKalist_MIMARK_GTMARKhash_MIMARKtable" ) end
|
309
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:75"] + __e.backtrace ) ; raise __e
|
310
|
+
end ,
|
311
|
+
[
|
312
|
+
begin
|
313
|
+
trampCall(_x)
|
314
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:68"] + __e.backtrace ) ; raise __e
|
315
|
+
end
|
316
|
+
]
|
317
|
+
))
|
318
|
+
} ,
|
319
|
+
trampCall( self._vector_MIMARK_GTMARKlist_METHOD( 'vector->list',
|
320
|
+
begin
|
321
|
+
if @global_lisp_binding.has_key?('_vector_MIMARK_GTMARKlist') then
|
322
|
+
trampCall(@_vector_MIMARK_GTMARKlist)
|
323
|
+
else raise NameError.new( "Error: undefined variable _vector_MIMARK_GTMARKlist", "_vector_MIMARK_GTMARKlist" ) end
|
324
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:69"] + __e.backtrace ) ; raise __e
|
325
|
+
end ,
|
326
|
+
[
|
327
|
+
begin
|
328
|
+
trampCall(_obj)
|
329
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:78"] + __e.backtrace ) ; raise __e
|
330
|
+
end
|
331
|
+
]
|
332
|
+
))
|
333
|
+
]
|
334
|
+
))
|
335
|
+
]
|
336
|
+
)
|
337
|
+
end
|
338
|
+
else
|
339
|
+
if (
|
340
|
+
trampCall( self._pair_QUMARK_METHOD( 'pair?',
|
341
|
+
begin
|
342
|
+
if @global_lisp_binding.has_key?('_pair_QUMARK') then
|
343
|
+
trampCall(@_pair_QUMARK)
|
344
|
+
else raise NameError.new( "Error: undefined variable _pair_QUMARK", "_pair_QUMARK" ) end
|
345
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:70"] + __e.backtrace ) ; raise __e
|
346
|
+
end ,
|
347
|
+
[
|
348
|
+
begin
|
349
|
+
trampCall(_obj)
|
350
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:78"] + __e.backtrace ) ; raise __e
|
351
|
+
end
|
352
|
+
]
|
353
|
+
))
|
354
|
+
) then
|
355
|
+
begin
|
356
|
+
delayCall( '_alist_MIMARK_GTMARKhash_MIMARKtable', 'alist->hash-table',
|
357
|
+
begin
|
358
|
+
if @global_lisp_binding.has_key?('_alist_MIMARK_GTMARKhash_MIMARKtable') then
|
359
|
+
trampCall(@_alist_MIMARK_GTMARKhash_MIMARKtable)
|
360
|
+
else raise NameError.new( "Error: undefined variable _alist_MIMARK_GTMARKhash_MIMARKtable", "_alist_MIMARK_GTMARKhash_MIMARKtable" ) end
|
361
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:71"] + __e.backtrace ) ; raise __e
|
362
|
+
end ,
|
363
|
+
[
|
364
|
+
trampCall( self._map_METHOD( 'map',
|
365
|
+
begin
|
366
|
+
if @global_lisp_binding.has_key?('_map') then
|
367
|
+
trampCall(@_map)
|
368
|
+
else raise NameError.new( "Error: undefined variable _map", "_map" ) end
|
369
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:72"] + __e.backtrace ) ; raise __e
|
370
|
+
end ,
|
371
|
+
[
|
372
|
+
Proc.new { |_entry|
|
373
|
+
trampCall( self._cons_METHOD( 'cons',
|
374
|
+
begin
|
375
|
+
if @global_lisp_binding.has_key?('_cons') then
|
376
|
+
trampCall(@_cons)
|
377
|
+
else raise NameError.new( "Error: undefined variable _cons", "_cons" ) end
|
378
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:74"] + __e.backtrace ) ; raise __e
|
379
|
+
end ,
|
380
|
+
[
|
381
|
+
trampCall( self._car_METHOD( 'car',
|
382
|
+
begin
|
383
|
+
if @global_lisp_binding.has_key?('_car') then
|
384
|
+
trampCall(@_car)
|
385
|
+
else raise NameError.new( "Error: undefined variable _car", "_car" ) end
|
386
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:74"] + __e.backtrace ) ; raise __e
|
387
|
+
end ,
|
388
|
+
[
|
389
|
+
begin
|
390
|
+
trampCall(_entry)
|
391
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:75"] + __e.backtrace ) ; raise __e
|
392
|
+
end
|
393
|
+
]
|
394
|
+
)) ,
|
395
|
+
trampCall( self.__PAMARKjson_COMARKalist_MIMARK_GTMARKhash_MIMARKtable_METHOD( '%json:alist->hash-table',
|
396
|
+
begin
|
397
|
+
if @global_lisp_binding.has_key?('__PAMARKjson_COMARKalist_MIMARK_GTMARKhash_MIMARKtable') then
|
398
|
+
trampCall(@__PAMARKjson_COMARKalist_MIMARK_GTMARKhash_MIMARKtable)
|
399
|
+
else raise NameError.new( "Error: undefined variable __PAMARKjson_COMARKalist_MIMARK_GTMARKhash_MIMARKtable", "__PAMARKjson_COMARKalist_MIMARK_GTMARKhash_MIMARKtable" ) end
|
400
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:75"] + __e.backtrace ) ; raise __e
|
401
|
+
end ,
|
402
|
+
[
|
403
|
+
trampCall( self._cdr_METHOD( 'cdr',
|
404
|
+
begin
|
405
|
+
if @global_lisp_binding.has_key?('_cdr') then
|
406
|
+
trampCall(@_cdr)
|
407
|
+
else raise NameError.new( "Error: undefined variable _cdr", "_cdr" ) end
|
408
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:75"] + __e.backtrace ) ; raise __e
|
409
|
+
end ,
|
410
|
+
[
|
411
|
+
begin
|
412
|
+
trampCall(_entry)
|
413
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:75"] + __e.backtrace ) ; raise __e
|
414
|
+
end
|
415
|
+
]
|
416
|
+
))
|
417
|
+
]
|
418
|
+
))
|
419
|
+
]
|
420
|
+
))
|
421
|
+
} ,
|
422
|
+
begin
|
423
|
+
trampCall(_obj)
|
424
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:78"] + __e.backtrace ) ; raise __e
|
425
|
+
end
|
426
|
+
]
|
427
|
+
))
|
428
|
+
]
|
429
|
+
)
|
430
|
+
end
|
431
|
+
else
|
432
|
+
if (
|
433
|
+
true
|
434
|
+
) then
|
435
|
+
begin
|
436
|
+
begin
|
437
|
+
trampCall(_obj)
|
438
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:78"] + __e.backtrace ) ; raise __e
|
439
|
+
end
|
440
|
+
end
|
441
|
+
else
|
442
|
+
Cell.new()
|
443
|
+
end
|
444
|
+
end
|
445
|
+
end
|
446
|
+
end
|
447
|
+
}
|
448
|
+
)
|
449
|
+
end
|
450
|
+
)
|
451
|
+
#--------------------
|
452
|
+
|
453
|
+
trampCall(
|
454
|
+
begin
|
455
|
+
def self._parse_MIMARKjson_MIMARKstring_METHOD( origname, pred, args ) lispMethodEntry( origname, true ) ; ret = callProcedure( origname, pred, args ) ; lispMethodExit( origname, true ) ; return ret end
|
456
|
+
@global_lisp_binding['_parse_MIMARKjson_MIMARKstring'] = self.method( :_parse_MIMARKjson_MIMARKstring_METHOD )
|
457
|
+
@_parse_MIMARKjson_MIMARKstring =
|
458
|
+
trampCall(
|
459
|
+
Proc.new { |_str|
|
460
|
+
delayCall( '__PAMARKjson_COMARKhash_MIMARKtable_MIMARK_GTMARKalist', '%json:hash-table->alist',
|
461
|
+
begin
|
462
|
+
if @global_lisp_binding.has_key?('__PAMARKjson_COMARKhash_MIMARKtable_MIMARK_GTMARKalist') then
|
463
|
+
trampCall(@__PAMARKjson_COMARKhash_MIMARKtable_MIMARK_GTMARKalist)
|
464
|
+
else raise NameError.new( "Error: undefined variable __PAMARKjson_COMARKhash_MIMARKtable_MIMARK_GTMARKalist", "__PAMARKjson_COMARKhash_MIMARKtable_MIMARK_GTMARKalist" ) end
|
465
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:85"] + __e.backtrace ) ; raise __e
|
466
|
+
end ,
|
467
|
+
[
|
468
|
+
begin
|
469
|
+
trampCall(JSON).parse(
|
470
|
+
begin
|
471
|
+
trampCall(_str)
|
472
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:86"] + __e.backtrace ) ; raise __e
|
473
|
+
end
|
474
|
+
)
|
475
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:86"] + __e.backtrace ) ; raise __e
|
476
|
+
end
|
477
|
+
]
|
478
|
+
)
|
479
|
+
}
|
480
|
+
)
|
481
|
+
end
|
482
|
+
)
|
483
|
+
#--------------------
|
484
|
+
|
485
|
+
trampCall(
|
486
|
+
begin
|
487
|
+
def self._parse_MIMARKjson_METHOD( origname, pred, args ) lispMethodEntry( origname, true ) ; ret = callProcedure( origname, pred, args ) ; lispMethodExit( origname, true ) ; return ret end
|
488
|
+
@global_lisp_binding['_parse_MIMARKjson'] = self.method( :_parse_MIMARKjson_METHOD )
|
489
|
+
@_parse_MIMARKjson =
|
490
|
+
trampCall(
|
491
|
+
Proc.new { |*__rest__| _io = __rest__[0] ;
|
492
|
+
begin
|
493
|
+
___lambda = lambda { |__|
|
494
|
+
begin
|
495
|
+
___lambda = lambda { |_str|
|
496
|
+
delayCall( '_parse_MIMARKjson_MIMARKstring', 'parse-json-string',
|
497
|
+
begin
|
498
|
+
if @global_lisp_binding.has_key?('_parse_MIMARKjson_MIMARKstring') then
|
499
|
+
trampCall(@_parse_MIMARKjson_MIMARKstring)
|
500
|
+
else raise NameError.new( "Error: undefined variable _parse_MIMARKjson_MIMARKstring", "_parse_MIMARKjson_MIMARKstring" ) end
|
501
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:91"] + __e.backtrace ) ; raise __e
|
502
|
+
end ,
|
503
|
+
[
|
504
|
+
begin
|
505
|
+
trampCall(_str)
|
506
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:91"] + __e.backtrace ) ; raise __e
|
507
|
+
end
|
508
|
+
]
|
509
|
+
)
|
510
|
+
} ; ___lambda.call(
|
511
|
+
begin
|
512
|
+
trampCall(__).read(
|
513
|
+
)
|
514
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:90"] + __e.backtrace ) ; raise __e
|
515
|
+
end
|
516
|
+
)
|
517
|
+
end
|
518
|
+
} ; ___lambda.call(
|
519
|
+
begin
|
520
|
+
___lambda = lambda { |___gensym__6e1da08b054bbf0469585c6330e1b00b59b91d4c_20019|
|
521
|
+
if (
|
522
|
+
trampCall( self._null_QUMARK_METHOD( 'null?',
|
523
|
+
begin
|
524
|
+
if @global_lisp_binding.has_key?('_null_QUMARK') then
|
525
|
+
trampCall(@_null_QUMARK)
|
526
|
+
else raise NameError.new( "Error: undefined variable _null_QUMARK", "_null_QUMARK" ) end
|
527
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:62"] + __e.backtrace ) ; raise __e
|
528
|
+
end ,
|
529
|
+
[
|
530
|
+
begin
|
531
|
+
trampCall(___gensym__6e1da08b054bbf0469585c6330e1b00b59b91d4c_20019)
|
532
|
+
rescue => __e ; __e.set_backtrace( [":1"] + __e.backtrace ) ; raise __e
|
533
|
+
end
|
534
|
+
]
|
535
|
+
))
|
536
|
+
) then
|
537
|
+
begin
|
538
|
+
trampCall(STDIN)
|
539
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:89"] + __e.backtrace ) ; raise __e
|
540
|
+
end
|
541
|
+
else
|
542
|
+
delayCall( '_car', 'car',
|
543
|
+
begin
|
544
|
+
if @global_lisp_binding.has_key?('_car') then
|
545
|
+
trampCall(@_car)
|
546
|
+
else raise NameError.new( "Error: undefined variable _car", "_car" ) end
|
547
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:74"] + __e.backtrace ) ; raise __e
|
548
|
+
end ,
|
549
|
+
[
|
550
|
+
begin
|
551
|
+
trampCall(___gensym__6e1da08b054bbf0469585c6330e1b00b59b91d4c_20019)
|
552
|
+
rescue => __e ; __e.set_backtrace( [":1"] + __e.backtrace ) ; raise __e
|
553
|
+
end
|
554
|
+
]
|
555
|
+
)
|
556
|
+
end
|
557
|
+
} ; ___lambda.call(
|
558
|
+
begin
|
559
|
+
trampCall(_io)
|
560
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:89"] + __e.backtrace ) ; raise __e
|
561
|
+
end
|
562
|
+
)
|
563
|
+
end
|
564
|
+
)
|
565
|
+
end
|
566
|
+
}
|
567
|
+
)
|
568
|
+
end
|
569
|
+
)
|
570
|
+
#--------------------
|
571
|
+
|
572
|
+
trampCall(
|
573
|
+
begin
|
574
|
+
def self._construct_MIMARKjson_MIMARKstring_METHOD( origname, pred, args ) lispMethodEntry( origname, true ) ; ret = callProcedure( origname, pred, args ) ; lispMethodExit( origname, true ) ; return ret end
|
575
|
+
@global_lisp_binding['_construct_MIMARKjson_MIMARKstring'] = self.method( :_construct_MIMARKjson_MIMARKstring_METHOD )
|
576
|
+
@_construct_MIMARKjson_MIMARKstring =
|
577
|
+
trampCall(
|
578
|
+
Proc.new { |_obj|
|
579
|
+
begin
|
580
|
+
trampCall(JSON).dump(
|
581
|
+
trampCall( self.__PAMARKjson_COMARKalist_MIMARK_GTMARKhash_MIMARKtable_METHOD( '%json:alist->hash-table',
|
582
|
+
begin
|
583
|
+
if @global_lisp_binding.has_key?('__PAMARKjson_COMARKalist_MIMARK_GTMARKhash_MIMARKtable') then
|
584
|
+
trampCall(@__PAMARKjson_COMARKalist_MIMARK_GTMARKhash_MIMARKtable)
|
585
|
+
else raise NameError.new( "Error: undefined variable __PAMARKjson_COMARKalist_MIMARK_GTMARKhash_MIMARKtable", "__PAMARKjson_COMARKalist_MIMARK_GTMARKhash_MIMARKtable" ) end
|
586
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:98"] + __e.backtrace ) ; raise __e
|
587
|
+
end ,
|
588
|
+
[
|
589
|
+
begin
|
590
|
+
trampCall(_obj)
|
591
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:98"] + __e.backtrace ) ; raise __e
|
592
|
+
end
|
593
|
+
]
|
594
|
+
))
|
595
|
+
)
|
596
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:97"] + __e.backtrace ) ; raise __e
|
597
|
+
end
|
598
|
+
}
|
599
|
+
)
|
600
|
+
end
|
601
|
+
)
|
602
|
+
#--------------------
|
603
|
+
|
604
|
+
trampCall(
|
605
|
+
begin
|
606
|
+
def self._construct_MIMARKjson_METHOD( origname, pred, args ) lispMethodEntry( origname, true ) ; ret = callProcedure( origname, pred, args ) ; lispMethodExit( origname, true ) ; return ret end
|
607
|
+
@global_lisp_binding['_construct_MIMARKjson'] = self.method( :_construct_MIMARKjson_METHOD )
|
608
|
+
@_construct_MIMARKjson =
|
609
|
+
trampCall(
|
610
|
+
Proc.new { |_obj,*__rest__| _io = __rest__[0] ;
|
611
|
+
begin
|
612
|
+
___lambda = lambda { |__|
|
613
|
+
begin
|
614
|
+
trampCall(__).print(
|
615
|
+
trampCall( self._construct_MIMARKjson_MIMARKstring_METHOD( 'construct-json-string',
|
616
|
+
begin
|
617
|
+
if @global_lisp_binding.has_key?('_construct_MIMARKjson_MIMARKstring') then
|
618
|
+
trampCall(@_construct_MIMARKjson_MIMARKstring)
|
619
|
+
else raise NameError.new( "Error: undefined variable _construct_MIMARKjson_MIMARKstring", "_construct_MIMARKjson_MIMARKstring" ) end
|
620
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:103"] + __e.backtrace ) ; raise __e
|
621
|
+
end ,
|
622
|
+
[
|
623
|
+
begin
|
624
|
+
trampCall(_obj)
|
625
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:103"] + __e.backtrace ) ; raise __e
|
626
|
+
end
|
627
|
+
]
|
628
|
+
))
|
629
|
+
)
|
630
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:102"] + __e.backtrace ) ; raise __e
|
631
|
+
end
|
632
|
+
} ; ___lambda.call(
|
633
|
+
begin
|
634
|
+
___lambda = lambda { |___gensym__6e1da08b054bbf0469585c6330e1b00b59b91d4c_20020|
|
635
|
+
if (
|
636
|
+
trampCall( self._null_QUMARK_METHOD( 'null?',
|
637
|
+
begin
|
638
|
+
if @global_lisp_binding.has_key?('_null_QUMARK') then
|
639
|
+
trampCall(@_null_QUMARK)
|
640
|
+
else raise NameError.new( "Error: undefined variable _null_QUMARK", "_null_QUMARK" ) end
|
641
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:62"] + __e.backtrace ) ; raise __e
|
642
|
+
end ,
|
643
|
+
[
|
644
|
+
begin
|
645
|
+
trampCall(___gensym__6e1da08b054bbf0469585c6330e1b00b59b91d4c_20020)
|
646
|
+
rescue => __e ; __e.set_backtrace( [":1"] + __e.backtrace ) ; raise __e
|
647
|
+
end
|
648
|
+
]
|
649
|
+
))
|
650
|
+
) then
|
651
|
+
begin
|
652
|
+
trampCall(STDOUT)
|
653
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:101"] + __e.backtrace ) ; raise __e
|
654
|
+
end
|
655
|
+
else
|
656
|
+
delayCall( '_car', 'car',
|
657
|
+
begin
|
658
|
+
if @global_lisp_binding.has_key?('_car') then
|
659
|
+
trampCall(@_car)
|
660
|
+
else raise NameError.new( "Error: undefined variable _car", "_car" ) end
|
661
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:74"] + __e.backtrace ) ; raise __e
|
662
|
+
end ,
|
663
|
+
[
|
664
|
+
begin
|
665
|
+
trampCall(___gensym__6e1da08b054bbf0469585c6330e1b00b59b91d4c_20020)
|
666
|
+
rescue => __e ; __e.set_backtrace( [":1"] + __e.backtrace ) ; raise __e
|
667
|
+
end
|
668
|
+
]
|
669
|
+
)
|
670
|
+
end
|
671
|
+
} ; ___lambda.call(
|
672
|
+
begin
|
673
|
+
trampCall(_io)
|
674
|
+
rescue => __e ; __e.set_backtrace( ["./lib/rfc/json.nnd:101"] + __e.backtrace ) ; raise __e
|
675
|
+
end
|
676
|
+
)
|
677
|
+
end
|
678
|
+
)
|
679
|
+
end
|
680
|
+
}
|
681
|
+
)
|
682
|
+
end
|
683
|
+
)
|
684
|
+
|
685
|
+
|
686
|
+
# -------------------------------------------------------
|
687
|
+
# [EOF]
|
688
|
+
# -------------------------------------------------------
|
data/test/json-test.nnd
ADDED
@@ -0,0 +1,178 @@
|
|
1
|
+
;;-*- mode: nendo; syntax: scheme -*-
|
2
|
+
;;;
|
3
|
+
;;; json-test.nnd - test of json.nnd
|
4
|
+
;;;
|
5
|
+
;;; Copyright (c) 2011 Kiyoka Nishiyama <kiyoka@sumibi.org>
|
6
|
+
;;;
|
7
|
+
;;; Redistribution and use in source and binary forms, with or without
|
8
|
+
;;; modification, are permitted provided that the following conditions
|
9
|
+
;;; are met:
|
10
|
+
;;;
|
11
|
+
;;; 1. Redistributions of source code must retain the above copyright
|
12
|
+
;;; notice, this list of conditions and the following disclaimer.
|
13
|
+
;;;
|
14
|
+
;;; 2. Redistributions in binary form must reproduce the above copyright
|
15
|
+
;;; notice, this list of conditions and the following disclaimer in the
|
16
|
+
;;; documentation and/or other materials provided with the distribution.
|
17
|
+
;;;
|
18
|
+
;;; 3. Neither the name of the authors nor the names of its contributors
|
19
|
+
;;; may be used to endorse or promote products derived from this
|
20
|
+
;;; software without specific prior written permission.
|
21
|
+
;;;
|
22
|
+
;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
23
|
+
;;; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
24
|
+
;;; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
25
|
+
;;; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
26
|
+
;;; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
27
|
+
;;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
|
28
|
+
;;; TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
29
|
+
;;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
30
|
+
;;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
31
|
+
;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
32
|
+
;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
33
|
+
;;;
|
34
|
+
;;; $Id:
|
35
|
+
;;;
|
36
|
+
(use nendo.test)
|
37
|
+
(use rfc.json)
|
38
|
+
|
39
|
+
(test-start "json")
|
40
|
+
|
41
|
+
;;===================================================================
|
42
|
+
|
43
|
+
;;-------------------------------------------------------------------
|
44
|
+
(test-section "json parser")
|
45
|
+
|
46
|
+
(test* "string (1)"
|
47
|
+
'#( "str" )
|
48
|
+
(parse-json-string "[\"str\"]"))
|
49
|
+
|
50
|
+
(test* "string (2)"
|
51
|
+
'#( "Ã" )
|
52
|
+
(parse-json-string "[\"Ã\"]"))
|
53
|
+
|
54
|
+
(test* "string (3)"
|
55
|
+
'#( "Ã" "€" )
|
56
|
+
(parse-json-string "[ \"\\u00c3\", \"\\u20ac\" ]"))
|
57
|
+
|
58
|
+
(test* "string (4)"
|
59
|
+
'#(nil)
|
60
|
+
(parse-json-string "[null]"))
|
61
|
+
|
62
|
+
(test* "string (4)"
|
63
|
+
'#(nil)
|
64
|
+
(parse-json-string "[null]"))
|
65
|
+
|
66
|
+
(test* "string (5)"
|
67
|
+
'#(#t)
|
68
|
+
(parse-json-string "[true]"))
|
69
|
+
|
70
|
+
(test* "string (6)"
|
71
|
+
'#(#f)
|
72
|
+
(parse-json-string "[false]"))
|
73
|
+
|
74
|
+
|
75
|
+
(test* "simple object (1)"
|
76
|
+
'()
|
77
|
+
(parse-json-string "{}"))
|
78
|
+
(test* "simple object (2)"
|
79
|
+
'()
|
80
|
+
(parse-json-string " { } "))
|
81
|
+
(test* "simple object (3)"
|
82
|
+
'(("a" . 23))
|
83
|
+
(parse-json-string "{ \"a\": 23 } "))
|
84
|
+
(test* "simple object (4)"
|
85
|
+
'(("a" . 23) ("b" . 45))
|
86
|
+
(parse-json-string "{ \"a\": 23 , \"b\": 45 } "))
|
87
|
+
|
88
|
+
(test* "arrays (1)"
|
89
|
+
'#(1 2 3)
|
90
|
+
(parse-json-string "[1,2,3]"))
|
91
|
+
(test* "arrays (2)"
|
92
|
+
'#(#() #(#() #()))
|
93
|
+
(parse-json-string "[[],[[],[]]]"))
|
94
|
+
(test* "arrays (3)"
|
95
|
+
'#(#(4)
|
96
|
+
#(#(5) #(6)))
|
97
|
+
(parse-json-string "[[4],[[5],[6]]]"))
|
98
|
+
|
99
|
+
|
100
|
+
(define testdata-json-string
|
101
|
+
(string-join
|
102
|
+
'("["
|
103
|
+
" { \"a\": 1, "
|
104
|
+
" \"b\": 2, "
|
105
|
+
" \"c\": { \"c1\": 10,"
|
106
|
+
" \"c2\": 20 },"
|
107
|
+
" \"d\": [ \"vec1\", \"vec2\", \"vec3\" ]"
|
108
|
+
" },"
|
109
|
+
" { \"true\" : true , "
|
110
|
+
" \"false\" : false , "
|
111
|
+
" \"null\" : null "
|
112
|
+
" }"
|
113
|
+
"]")))
|
114
|
+
|
115
|
+
(define testdata-lisp-object
|
116
|
+
'#(
|
117
|
+
(("a" . 1)
|
118
|
+
("b" . 2)
|
119
|
+
("c" . (
|
120
|
+
("c1" . 10)
|
121
|
+
("c2" . 20)))
|
122
|
+
("d" . #("vec1" "vec2" "vec3")))
|
123
|
+
(("true" . true)
|
124
|
+
("false" . false)
|
125
|
+
("null" . nil))))
|
126
|
+
|
127
|
+
|
128
|
+
(test* "array and hash (1)"
|
129
|
+
(write-to-string testdata-lisp-object)
|
130
|
+
(write-to-string (parse-json-string testdata-json-string)))
|
131
|
+
|
132
|
+
|
133
|
+
(let1 sio (StringIO.new "{\"a\":23,\"b\":45}")
|
134
|
+
(test* "write to IO"
|
135
|
+
'(("a" . 23) ("b" . 45))
|
136
|
+
(parse-json sio)))
|
137
|
+
|
138
|
+
|
139
|
+
|
140
|
+
;;-------------------------------------------------------------------
|
141
|
+
(test-section "json constructor")
|
142
|
+
|
143
|
+
(test* "string (1)"
|
144
|
+
"[\"str\"]"
|
145
|
+
(construct-json-string '#( "str" )))
|
146
|
+
|
147
|
+
(test* "arrays (1)"
|
148
|
+
"[1,2,3]"
|
149
|
+
(construct-json-string '#(1 2 3)))
|
150
|
+
(test* "arrays (2)"
|
151
|
+
"[[],[[],[]]]"
|
152
|
+
(construct-json-string '#(#() #(#() #()))))
|
153
|
+
|
154
|
+
(test* "simple object (1)"
|
155
|
+
"{}"
|
156
|
+
(construct-json-string '()))
|
157
|
+
(test* "simple object (2)"
|
158
|
+
"{\"a\":23}"
|
159
|
+
(construct-json-string '(("a" . 23))))
|
160
|
+
(test* "simple object (3)"
|
161
|
+
"{\"a\":23,\"b\":45}"
|
162
|
+
(construct-json-string '(("a" . 23) ("b" . 45))))
|
163
|
+
|
164
|
+
(test* "array and hash (1)"
|
165
|
+
(testdata-json-string.gsub #/[ ]/ "")
|
166
|
+
(construct-json-string testdata-lisp-object))
|
167
|
+
|
168
|
+
(let1 sio (StringIO.new)
|
169
|
+
(test* "write to IO"
|
170
|
+
"{\"a\":23,\"b\":45}"
|
171
|
+
(begin
|
172
|
+
(construct-json '(("a" . 23) ("b" . 45)) sio)
|
173
|
+
(sio.rewind)
|
174
|
+
(sio.read))))
|
175
|
+
|
176
|
+
|
177
|
+
;;===================================================================
|
178
|
+
(test-end)
|
data/test/nendo_spec.rb
CHANGED
@@ -998,17 +998,22 @@ describe Nendo, "when use regexp litteral and library functions " do
|
|
998
998
|
@nendo.evalStr( " #/abc/ " ).should == "#/abc/"
|
999
999
|
@nendo.evalStr( " #/[a-z]/ " ).should == "#/[a-z]/"
|
1000
1000
|
@nendo.evalStr( " #/[a-zA-Z0-9]+/ " ).should == "#/[a-zA-Z0-9]+/"
|
1001
|
-
@nendo.evalStr(
|
1002
|
-
@nendo.evalStr(
|
1001
|
+
@nendo.evalStr( ' #/\d/ ' ).should == '#/\d/'
|
1002
|
+
@nendo.evalStr( ' #/[\/]/ ' ).should == '#/[\/]/'
|
1003
|
+
@nendo.evalStr( ' #/\]/ ' ).should == '#/\]/'
|
1004
|
+
@nendo.evalStr( ' #/^\]/ ' ).should == '#/^\]/'
|
1005
|
+
@nendo.evalStr( ' #/\[/ ' ).should == '#/\[/'
|
1006
|
+
@nendo.evalStr( ' #/^\[/ ' ).should == '#/^\[/'
|
1007
|
+
@nendo.evalStr( ' #/\.\^\$\/\+\-\(\)\|/ ' ).should == '#/\.\^\$\/\+\-\(\)\|/'
|
1003
1008
|
@nendo.evalStr( " #/abc/i " ).should == "#/abc/i"
|
1004
1009
|
@nendo.evalStr( " #/[a-z]/i " ).should == "#/[a-z]/i"
|
1005
1010
|
lambda { @nendo.evalStr( " #/[a-z]/I " ) }.should raise_error(NameError)
|
1006
1011
|
lambda { @nendo.evalStr( " #/[a-z]/a " ) }.should raise_error(NameError)
|
1007
1012
|
|
1008
|
-
@nendo.evalStr(
|
1009
|
-
@nendo.evalStr(
|
1010
|
-
@nendo.evalStr(
|
1011
|
-
@nendo.evalStr(
|
1013
|
+
@nendo.evalStr( ' (string->regexp "abc") ' ).should == '#/abc/'
|
1014
|
+
@nendo.evalStr( ' (string->regexp "[a-z]") ' ).should == '#/[a-z]/'
|
1015
|
+
@nendo.evalStr( ' (string->regexp "[a-zA-Z0-9]+" ) ' ).should == '#/[a-zA-Z0-9]+/'
|
1016
|
+
@nendo.evalStr( ' (string->regexp "\\\\d" ) ' ).should == '#/\d/'
|
1012
1017
|
@nendo.evalStr( " (regexp? #/str/ ) " ).should == "#t"
|
1013
1018
|
@nendo.evalStr( " (regexp? #/str/i ) " ).should == "#t"
|
1014
1019
|
@nendo.evalStr( " (regexp? \"str\" ) " ).should == "#f"
|
@@ -1705,6 +1710,12 @@ describe Nendo, "when use hash-table feature " do
|
|
1705
1710
|
@nendo.evalStr( " (hash-table-push! h 'a :AAA_2) (hash-table->alist h)" ).should == "((a :AAA_2 :AAA_1))"
|
1706
1711
|
@nendo.evalStr( " (hash-table-push! h 'b :BBB_1) (hash-table->alist h)" ).should == "((a :AAA_2 :AAA_1) (b :BBB_1))"
|
1707
1712
|
@nendo.evalStr( " (hash-table-push! h 'b :BBB_2) (hash-table->alist h)" ).should == "((a :AAA_2 :AAA_1) (b :BBB_2 :BBB_1))"
|
1713
|
+
@nendo.evalStr( " (set! h (hash-table '(true . 1) '(false . 2) '(nil . 3))) h" ).should == "{true=>1, false=>2, nil=>3}"
|
1714
|
+
@nendo.evalStr( " (hash-table->alist h) " ).should == "((#t . 1) (#f . 2) (nil . 3))"
|
1715
|
+
@nendo.evalStr( " (hash-table-keys h) " ).should == "(#t #f nil)"
|
1716
|
+
@nendo.evalStr( " (set! h (hash-table '(1 . true) '(2 . false) '(3 . nil))) h" ).should == "{1=>true, 2=>false, 3=>nil}"
|
1717
|
+
@nendo.evalStr( " (hash-table->alist h) " ).should == "((1 . #t) (2 . #f) (3 . nil))"
|
1718
|
+
@nendo.evalStr( " (hash-table-keys h) " ).should == "(1 2 3)"
|
1708
1719
|
end
|
1709
1720
|
end
|
1710
1721
|
|
File without changes
|
@@ -32,7 +32,7 @@
|
|
32
32
|
var))
|
33
33
|
|
34
34
|
(test* "disasm info"
|
35
|
-
" file: ./test/
|
35
|
+
" file: ./test/util-test.nnd
|
36
36
|
lineno: 30
|
37
37
|
source:
|
38
38
|
(define
|
@@ -69,7 +69,7 @@ trampCall(
|
|
69
69
|
___lambda = lambda { |_var|
|
70
70
|
begin
|
71
71
|
trampCall(_var)
|
72
|
-
rescue => __e ; __e.set_backtrace( [\"./test/
|
72
|
+
rescue => __e ; __e.set_backtrace( [\"./test/util-test.nnd:32\"] + __e.backtrace ) ; raise __e
|
73
73
|
end
|
74
74
|
} ; ___lambda.call(
|
75
75
|
trampCall( self.__PLMARK_METHOD( '+',
|
@@ -77,12 +77,12 @@ trampCall(
|
|
77
77
|
if @global_lisp_binding.has_key?('__PLMARK') then
|
78
78
|
trampCall(@__PLMARK)
|
79
79
|
else raise NameError.new( \"Error: undefined variable __PLMARK\", \"__PLMARK\" ) end
|
80
|
-
rescue => __e ; __e.set_backtrace( [\"./test/
|
80
|
+
rescue => __e ; __e.set_backtrace( [\"./test/util-test.nnd:31\"] + __e.backtrace ) ; raise __e
|
81
81
|
end ,
|
82
82
|
[
|
83
83
|
begin
|
84
84
|
trampCall(_arg1)
|
85
|
-
rescue => __e ; __e.set_backtrace( [\"./test/
|
85
|
+
rescue => __e ; __e.set_backtrace( [\"./test/util-test.nnd:31\"] + __e.backtrace ) ; raise __e
|
86
86
|
end ,
|
87
87
|
1
|
88
88
|
]
|
metadata
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nendo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash: 15
|
5
4
|
prerelease: false
|
6
5
|
segments:
|
7
6
|
- 0
|
8
7
|
- 4
|
9
|
-
-
|
10
|
-
version: 0.4.
|
8
|
+
- 1
|
9
|
+
version: 0.4.1
|
11
10
|
platform: ruby
|
12
11
|
authors:
|
13
12
|
- Kiyoka Nishiyama
|
@@ -15,7 +14,7 @@ autorequire:
|
|
15
14
|
bindir: bin
|
16
15
|
cert_chain: []
|
17
16
|
|
18
|
-
date:
|
17
|
+
date: 2011-01-27 00:00:00 +09:00
|
19
18
|
default_executable: nendo
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
@@ -26,7 +25,6 @@ dependencies:
|
|
26
25
|
requirements:
|
27
26
|
- - ">="
|
28
27
|
- !ruby/object:Gem::Version
|
29
|
-
hash: 3
|
30
28
|
segments:
|
31
29
|
- 0
|
32
30
|
version: "0"
|
@@ -71,24 +69,27 @@ files:
|
|
71
69
|
- lib/nendo.rb
|
72
70
|
- lib/nendo/test.nnd
|
73
71
|
- lib/nendo/test.nndc
|
72
|
+
- lib/rfc/json.nnd
|
73
|
+
- lib/rfc/json.nndc
|
74
74
|
- lib/srfi-1.nnd
|
75
75
|
- lib/srfi-1.nndc
|
76
76
|
- lib/text/html-lite.nnd
|
77
77
|
- lib/text/html-lite.nndc
|
78
78
|
- lib/text/tree.nnd
|
79
79
|
- lib/text/tree.nndc
|
80
|
+
- test/json-test.nnd
|
80
81
|
- test/nendo_spec.rb
|
81
|
-
- test/nendo_util.nnd
|
82
82
|
- test/srfi-1-test.nnd
|
83
|
-
- test/textlib.nnd
|
83
|
+
- test/textlib-test.nnd
|
84
|
+
- test/util-test.nnd
|
84
85
|
- README
|
85
86
|
has_rdoc: true
|
86
87
|
homepage: http://github.com/kiyoka/nendo
|
87
88
|
licenses: []
|
88
89
|
|
89
90
|
post_install_message:
|
90
|
-
rdoc_options:
|
91
|
-
|
91
|
+
rdoc_options: []
|
92
|
+
|
92
93
|
require_paths:
|
93
94
|
- lib
|
94
95
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -96,7 +97,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
96
97
|
requirements:
|
97
98
|
- - ">="
|
98
99
|
- !ruby/object:Gem::Version
|
99
|
-
hash: 3
|
100
100
|
segments:
|
101
101
|
- 0
|
102
102
|
version: "0"
|
@@ -105,7 +105,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
105
105
|
requirements:
|
106
106
|
- - ">="
|
107
107
|
- !ruby/object:Gem::Version
|
108
|
-
hash: 3
|
109
108
|
segments:
|
110
109
|
- 0
|
111
110
|
version: "0"
|