sxp 1.2.1 → 1.2.3
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 +4 -4
- data/README.md +1 -1
- data/VERSION +1 -1
- data/lib/sxp/extensions.rb +1 -1
- data/lib/sxp/reader/common_lisp.rb +18 -3
- metadata +13 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5b1a5b8305797234a4ad2e3d91d7c106ce7bcd8f06b27a2438b56b69ffec3d98
|
4
|
+
data.tar.gz: 55c8844dba6a9513269a0114fcb9f48a099134592a631cb7311fdc79df40655d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 61a0d3918e572bea20841837a50c4e750fb67735e5ebbe11835a3ad3f1025dfa397a61b8d6527964bf759bf874f17ac090b0680b829715f4bae5fd71e73ed7b1
|
7
|
+
data.tar.gz: 96049b94fc160bd7be812bbd834a1d2f9a3eae8bbdd37a721c3941654d40034e691c67728e8422e108759341bead22f8eaf1238497e53a4da2c2cd9cec10bcca
|
data/README.md
CHANGED
@@ -203,7 +203,7 @@ In addition to the standard datatypes, the SPARQL dialect supports the following
|
|
203
203
|
|
204
204
|
## Documentation
|
205
205
|
|
206
|
-
* Full documentation available on [RubyDoc](https
|
206
|
+
* Full documentation available on [RubyDoc](https://dryruby.github.io/sxp)
|
207
207
|
|
208
208
|
* {SXP}
|
209
209
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.2.
|
1
|
+
1.2.3
|
data/lib/sxp/extensions.rb
CHANGED
@@ -280,7 +280,7 @@ begin
|
|
280
280
|
# @return [String]
|
281
281
|
def to_sxp(**options)
|
282
282
|
case datatype
|
283
|
-
when RDF::XSD.boolean, RDF::XSD.integer, RDF::XSD.double, RDF::XSD.decimal
|
283
|
+
when RDF::XSD.boolean, RDF::XSD.integer, RDF::XSD.double, RDF::XSD.decimal
|
284
284
|
# Retain stated lexical form if possible
|
285
285
|
valid? ? to_s : object.to_sxp(**options)
|
286
286
|
else
|
@@ -7,7 +7,7 @@ module SXP; class Reader
|
|
7
7
|
#
|
8
8
|
# @see https:/www.cs.cmu.edu/Groups/AI/html/cltl/clm/node14.html
|
9
9
|
class CommonLisp < Basic
|
10
|
-
OPTIONS = {nil:
|
10
|
+
OPTIONS = {nil: false, t: true, quote: :quote, function: :function}
|
11
11
|
|
12
12
|
DECIMAL = /^[+-]?(\d*)?\.\d*$/
|
13
13
|
INTEGER_BASE_2 = /^[+-]?[01]+$/
|
@@ -35,7 +35,7 @@ module SXP; class Reader
|
|
35
35
|
#
|
36
36
|
# @param [IO, StringIO, String] input
|
37
37
|
# @param [Hash{Symbol => Object}] options
|
38
|
-
# @option options [Object] :nil (
|
38
|
+
# @option options [Object] :nil (false)
|
39
39
|
# @option options [Object] :t (true)
|
40
40
|
# @option options [Object] :quote (:quote)
|
41
41
|
# @option options [Object] :function (:function)
|
@@ -69,6 +69,21 @@ module SXP; class Reader
|
|
69
69
|
end
|
70
70
|
end
|
71
71
|
|
72
|
+
##
|
73
|
+
# Based on Basic#read_atom, but adds 't' and 'nil' atoms.
|
74
|
+
# @return [Object]
|
75
|
+
def read_atom
|
76
|
+
case buffer = read_literal
|
77
|
+
when '.' then buffer.to_sym
|
78
|
+
when RATIONAL then Rational($1.to_i, $2.to_i)
|
79
|
+
when DECIMAL then Float(buffer) # FIXME?
|
80
|
+
when INTEGER then Integer(buffer)
|
81
|
+
when /^t$/i then true
|
82
|
+
when /^nil$/i then nil
|
83
|
+
else buffer.to_sym
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
72
87
|
##
|
73
88
|
# @return [Symbol]
|
74
89
|
def read_symbol(delimiter = nil)
|
@@ -77,7 +92,7 @@ module SXP; class Reader
|
|
77
92
|
until delimiter === peek_char
|
78
93
|
buffer <<
|
79
94
|
case char = read_char
|
80
|
-
when ?\\ then
|
95
|
+
when ?\\ then read_char
|
81
96
|
else char
|
82
97
|
end
|
83
98
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sxp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arto Bendiken
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2022-
|
12
|
+
date: 2022-10-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rdf
|
@@ -29,16 +29,16 @@ dependencies:
|
|
29
29
|
name: matrix
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- - "
|
32
|
+
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: '0'
|
34
|
+
version: '0.4'
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- - "
|
39
|
+
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: '0'
|
41
|
+
version: '0.4'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: amazing_print
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
@@ -118,7 +118,12 @@ files:
|
|
118
118
|
homepage: https://github.com/dryruby/sxp/
|
119
119
|
licenses:
|
120
120
|
- Unlicense
|
121
|
-
metadata:
|
121
|
+
metadata:
|
122
|
+
documentation_uri: https://dryruby.github.io/sxp
|
123
|
+
bug_tracker_uri: https://github.com/dryruby/sxp/issues
|
124
|
+
homepage_uri: https://github.com/dryruby/sxp
|
125
|
+
mailing_list_uri: https://lists.w3.org/Archives/Public/public-rdf-ruby/
|
126
|
+
source_code_uri: https://github.com/dryruby/sxp
|
122
127
|
post_install_message:
|
123
128
|
rdoc_options: []
|
124
129
|
require_paths:
|
@@ -134,7 +139,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
134
139
|
- !ruby/object:Gem::Version
|
135
140
|
version: '0'
|
136
141
|
requirements: []
|
137
|
-
rubygems_version: 3.3.
|
142
|
+
rubygems_version: 3.3.7
|
138
143
|
signing_key:
|
139
144
|
specification_version: 4
|
140
145
|
summary: A pure-Ruby implementation of a universal S-expression parser.
|