lox 0.1.2 → 0.1.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/.rubocop.yml +1 -1
- data/.travis.yml +3 -0
- data/Gemfile +0 -2
- data/Gemfile.lock +2 -2
- data/Rakefile +0 -2
- data/bin/console +0 -1
- data/exe/lox +0 -1
- data/lib/lox.rb +0 -2
- data/lib/lox/cli.rb +0 -2
- data/lib/lox/console.rb +0 -2
- data/lib/lox/formatter.rb +0 -2
- data/lib/lox/lexical_analyzer.rb +5 -7
- data/lib/lox/lexical_analyzer/invalid_character.rb +0 -2
- data/lib/lox/lexical_analyzer/invalid_state.rb +0 -2
- data/lib/lox/lexical_analyzer/unterminated_string.rb +0 -2
- data/lib/lox/scanner.rb +0 -2
- data/lib/lox/version.rb +1 -3
- data/lib/lox/write.rb +0 -2
- data/lox.gemspec +1 -3
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e70731237baae5a44cce4057dc98ea7266070cfb78dca6482ec33851544f770d
|
4
|
+
data.tar.gz: 3663acb7fb374b931701529d4b1084c402032387404506a6b59bb5f1f833e57c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 263ec316be41ffbc12a505ebdafb5ba49d47939ab86b7edc9314a0c1fa083293426f18c81e0f88db73eb931cf17a296ac6915ebd4ec180ad42cf6a972f3753ad
|
7
|
+
data.tar.gz: 4ebd182aaff91aa3840c417193bedf1b99e00aade08e35011b040667103b37d9022fc708938c1250d90c7f4eb9bf8699c62282d45e813aabe112d1591f92eaba
|
data/.rubocop.yml
CHANGED
data/.travis.yml
CHANGED
@@ -3,8 +3,11 @@ sudo: false
|
|
3
3
|
language: ruby
|
4
4
|
cache: bundler
|
5
5
|
rvm:
|
6
|
+
- 2.2
|
7
|
+
- 2.3
|
6
8
|
- 2.4
|
7
9
|
- 2.5
|
10
|
+
- 2.6
|
8
11
|
before_install: gem install bundler -v 1.17.3
|
9
12
|
before_script:
|
10
13
|
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
lox (0.1.
|
4
|
+
lox (0.1.3)
|
5
5
|
thor
|
6
6
|
|
7
7
|
GEM
|
@@ -25,7 +25,7 @@ GEM
|
|
25
25
|
docile (1.3.1)
|
26
26
|
equalizer (0.0.11)
|
27
27
|
ice_nine (0.11.2)
|
28
|
-
jaro_winkler (1.5.
|
28
|
+
jaro_winkler (1.5.2)
|
29
29
|
json (2.1.0)
|
30
30
|
memoizable (0.4.2)
|
31
31
|
thread_safe (~> 0.3, >= 0.3.1)
|
data/Rakefile
CHANGED
data/bin/console
CHANGED
data/exe/lox
CHANGED
data/lib/lox.rb
CHANGED
data/lib/lox/cli.rb
CHANGED
data/lib/lox/console.rb
CHANGED
data/lib/lox/formatter.rb
CHANGED
data/lib/lox/lexical_analyzer.rb
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
1
|
require('lox/lexical_analyzer/invalid_character')
|
4
2
|
require('lox/lexical_analyzer/invalid_state')
|
5
3
|
require('lox/lexical_analyzer/unterminated_string')
|
@@ -50,7 +48,7 @@ module Lox
|
|
50
48
|
# rubocop:enable Metrics/MethodLength
|
51
49
|
|
52
50
|
def comment(_lexeme, character)
|
53
|
-
if character
|
51
|
+
if character =~ /./
|
54
52
|
:comment
|
55
53
|
else
|
56
54
|
:default
|
@@ -58,7 +56,7 @@ module Lox
|
|
58
56
|
end
|
59
57
|
|
60
58
|
def integer(lexeme, character, &block)
|
61
|
-
if character
|
59
|
+
if character =~ /\d/
|
62
60
|
[:integer, lexeme + character]
|
63
61
|
else
|
64
62
|
yield([:integer, Integer(lexeme)])
|
@@ -67,7 +65,7 @@ module Lox
|
|
67
65
|
end
|
68
66
|
|
69
67
|
def string(lexeme, character)
|
70
|
-
if character
|
68
|
+
if character =~ /["]/
|
71
69
|
yield([:string, lexeme[1..-1]])
|
72
70
|
:default
|
73
71
|
else
|
@@ -76,7 +74,7 @@ module Lox
|
|
76
74
|
end
|
77
75
|
|
78
76
|
def identifier(lexeme, character, &block)
|
79
|
-
if character
|
77
|
+
if character =~ /\w/
|
80
78
|
[:identifier, lexeme + character]
|
81
79
|
else
|
82
80
|
yield([:identifier, lexeme])
|
@@ -85,7 +83,7 @@ module Lox
|
|
85
83
|
end
|
86
84
|
|
87
85
|
def operator(lexeme, character, &block)
|
88
|
-
if character
|
86
|
+
if character =~ /[=]/
|
89
87
|
yield([lexeme + character])
|
90
88
|
:default
|
91
89
|
else
|
data/lib/lox/scanner.rb
CHANGED
data/lib/lox/version.rb
CHANGED
data/lib/lox/write.rb
CHANGED
data/lox.gemspec
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
1
|
lib = File.expand_path('lib', __dir__)
|
4
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
3
|
require('lox/version')
|
@@ -41,5 +39,5 @@ Gem::Specification.new do |spec|
|
|
41
39
|
spec.add_development_dependency('rubocop-rspec')
|
42
40
|
spec.add_development_dependency('simplecov')
|
43
41
|
|
44
|
-
spec.required_ruby_version = '
|
42
|
+
spec.required_ruby_version = '>= 2.2.0'
|
45
43
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lox
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Richard E. Dodson
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-01-
|
11
|
+
date: 2019-01-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -211,16 +211,16 @@ require_paths:
|
|
211
211
|
- lib
|
212
212
|
required_ruby_version: !ruby/object:Gem::Requirement
|
213
213
|
requirements:
|
214
|
-
- - "
|
214
|
+
- - ">="
|
215
215
|
- !ruby/object:Gem::Version
|
216
|
-
version:
|
216
|
+
version: 2.2.0
|
217
217
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
218
218
|
requirements:
|
219
219
|
- - ">="
|
220
220
|
- !ruby/object:Gem::Version
|
221
221
|
version: '0'
|
222
222
|
requirements: []
|
223
|
-
rubygems_version: 3.0.
|
223
|
+
rubygems_version: 3.0.2
|
224
224
|
signing_key:
|
225
225
|
specification_version: 4
|
226
226
|
summary: An implementation of the Lox Language which is written in Ruby.
|