Skip to content

Commit 5818bab

Browse files
committed
Remove reader/writer bits for RDF 1.2 that are now implemented in RDF::Reader/Writer.
Simplify regexp for DOUBLE.
1 parent d05e94c commit 5818bab

File tree

5 files changed

+9
-27
lines changed

5 files changed

+9
-27
lines changed

etc/turtle.bnf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ BLANK_NODE_LABEL ::= '_:' ( PN_CHARS_U | [0-9] ) ((PN_CHARS|'.')* PN_CHARS)?
4747
LANG_DIR ::= '@' [a-zA-Z]+ ( '-' [a-zA-Z0-9]+ )* ( '--' [a-zA-Z]+ )?
4848
INTEGER ::= [+-]? [0-9]+
4949
DECIMAL ::= [+-]? ( ([0-9])* '.' ([0-9])+ )
50-
DOUBLE ::= [+-]? ( [0-9]+ '.' [0-9]* EXPONENT | '.' ([0-9])+ EXPONENT | ([0-9])+ EXPONENT )
50+
DOUBLE ::= [+-]? ( ([0-9]+ ('.' [0-9]*)?) | ('.' [0-9]+) ) EXPONENT
5151
EXPONENT ::= [eE] [+-]? [0-9]+
5252
STRING_LITERAL_QUOTE ::= '"' ( [^#x22#x5C#xA#xD] | ECHAR | UCHAR )* '"' /* #x22=" #x5C=\ #xA=new line #xD=carriage return */
5353
STRING_LITERAL_SINGLE_QUOTE ::= "'" ( [^#x27#x5C#xA#xD] | ECHAR | UCHAR )* "'" /* #x27=' #x5C=\ #xA=new line #xD=carriage return */

lib/rdf/turtle/reader.rb

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -41,18 +41,6 @@ class Reader < RDF::Reader
4141
terminal(:VERSION, RDF_VERSION)
4242
terminal(:LANG_DIR, LANG_DIR)
4343

44-
##
45-
# Returns the RDF version determined by this reader.
46-
#
47-
# @example
48-
# reader.version #=> RDF::URI('http://purl.org/dc/terms/')
49-
#
50-
# @return [String]
51-
# @since 3.3.2
52-
def version
53-
@options[:version]
54-
end
55-
5644
##
5745
# Reader options
5846
# @see https://ruby-rdf.github.io/rdf/RDF/Reader#options-class_method
@@ -63,12 +51,6 @@ def self.options
6351
datatype: TrueClass,
6452
on: ["--freebase"],
6553
description: "Use optimized Freebase reader.") {true},
66-
RDF::CLI::Option.new(
67-
symbol: :version,
68-
control: :select,
69-
datatype: %w{1.1 1.2 1.2-basic},
70-
on: ["--version"],
71-
description: "RDF Version."),
7254
]
7355
end
7456

@@ -351,10 +333,10 @@ def read_directive
351333
vers_tok = @lexer.shift
352334
error("version", "Expected #{vers_tok} to be a string") unless [:STRING_LITERAL_QUOTE, :STRING_LITERAL_SINGLE_QUOTE].include?(vers_tok.type)
353335
@options[:version] = vers_tok.value[1..-2]
354-
if %w(1.2).include?(@options[:version])
336+
if %w(1.1 1.2 1.2-basic).include?(@options[:version])
355337
progress("version") {@options[:version]}
356338
else
357-
warn("version", "Expected version to be 1.2, was #{@options[:version]}") unless @options[:version] == "1.2"
339+
warn("version", "Expected version to be one of #{RDF::Format::VERSIONS.join(', ')}, was #{@options[:version]}") unless @options[:version] == "1.2"
358340
end
359341

360342
if terminated

lib/rdf/turtle/terminals.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ module Terminals
3535
LANG_DIR = /@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*(?:--[a-zA-Z]+)?)/u.freeze
3636
INTEGER = /[+-]?\d+/u.freeze
3737
DECIMAL = /[+-]?(?:\d*\.\d+)/u.freeze
38-
DOUBLE = /[+-]?(?:\d+\.\d*#{EXPONENT}|\.\d+#{EXPONENT}|\d+#{EXPONENT})/u.freeze
38+
DOUBLE = /[+-]?(?:\d+(?:\.\d*)?|\.\d+)#{EXPONENT}/u.freeze
3939
STRING_LITERAL_SINGLE_QUOTE = /'(?:[^\'\\\n\r]|#{ECHAR}|#{UCHAR})*'/u.freeze
4040
STRING_LITERAL_QUOTE = /"(?:[^\"\\\n\r]|#{ECHAR}|#{UCHAR})*"/u.freeze
4141
STRING_LITERAL_LONG_SINGLE_QUOTE = /'''(?:(?:'|'')?(?:[^'\\]|#{ECHAR}|#{UCHAR}))*'''/um.freeze

rdf-turtle.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Gem::Specification.new do |gem|
3030
gem.add_runtime_dependency 'base64', '~> 0.2'
3131
gem.add_runtime_dependency 'bigdecimal', '~> 3.1', '>= 3.1.9'
3232
gem.add_runtime_dependency 'ebnf', '~> 2.6'
33-
gem.add_runtime_dependency 'rdf', '~> 3.3'
33+
gem.add_runtime_dependency 'rdf', '~> 3.3', '>= 3.3.4'
3434
gem.add_runtime_dependency 'readline', '~> 0.0'
3535
gem.add_development_dependency 'erubis', '~> 2.7'
3636
gem.add_development_dependency 'getoptlong', '~> 0.2'

spec/reader_spec.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -698,15 +698,15 @@
698698
end
699699
end
700700

701-
it "warns if version is not 1.2" do
701+
it "warns if version is not 1.1, 1.2, or 1.2-basic" do
702702
logger = RDF::Spec.logger
703703
inner = double("inner")
704704
expect(inner).to receive(:called)
705-
RDF::Turtle::Reader.new(%{@version "1.1" . <a> <b> <c> .}, logger: logger) do |reader|
705+
RDF::Turtle::Reader.new(%{@version "1.0" . <a> <b> <c> .}, logger: logger) do |reader|
706706
inner.called(reader.class)
707707
expect(reader.statements.count).to eq 1
708-
expect(reader.version).to eq "1.1"
709-
expect(logger.to_s).to include('Expected version to be 1.2, was 1.1')
708+
expect(reader.version).to eq "1.0"
709+
expect(logger.to_s).to include('Expected version to be one of 1.1, 1.2-basic, 1.2, was 1.0')
710710
end
711711
end
712712
end

0 commit comments

Comments
 (0)