hesabu 0.1.4 → 0.1.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b89b737f24684f9cc743989c0b641873653cd3bb242c74dfbfab218a17685f65
4
- data.tar.gz: 17cd26ba5d1d309bbe4bd83b0a4cc09723b1d46b38b920c147b94f255639e810
3
+ metadata.gz: 569ad0bbcbed74d83d57ab12ea67b39377400394a7ee7821e37bb3d157f69232
4
+ data.tar.gz: 3984eec0e0e7e1c193a5a2cd7cab98b84a1da9f02c93cd41ebb5e1dfc3a03ab8
5
5
  SHA512:
6
- metadata.gz: 81eaf12d1f76033f8c02cc1fa09e061f4af3e678ed8ac57907bee046fc1f43802ffb3ad3a4139613b49709f1ba961508846801985aef1d54c16af2c7941915f1
7
- data.tar.gz: b454820dcbab67c1c24e3aef4402e464573edd2d8d9d35264c9a9910ad6b17424f729b33fc5a2a950415085415d1e20b7877f4e8dd10c166280d8ec0b03ea22c
6
+ metadata.gz: 58be8b83b70bbeaaf2d4c49b2d9aaaa315614a895bdd1b812d27bf029b6f5dfb48e98d3af4f6c2aae62f9a8890bfb1256807a636db38e3f699c549c2ef25e118
7
+ data.tar.gz: ff042a9247f785f8d2ef40e800a85bd1330ded53e4ee0fc2a1bf7428ece4e2e532a364869596787af6016078c9b634c028d660a518e324f154e6e05b54dea306
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- hesabu (0.1.3)
4
+ hesabu (0.1.4)
5
5
  parslet
6
6
 
7
7
  GEM
data/bin/fast ADDED
@@ -0,0 +1,2 @@
1
+ #!/bin/bash
2
+ bundle exec rspec --tag ~slow
data/lib/hesabu/parser.rb CHANGED
@@ -29,7 +29,8 @@ module Hesabu
29
29
  end
30
30
 
31
31
  rule(:float) do
32
- cts((str("-").maybe >> digit.repeat(1) >> str(".") >> digit.repeat(1)).as(:float))
32
+ cts((str("-").maybe >> digit.repeat(1) >> str(".") >> digit.repeat(1)).as(:float)) |
33
+ cts((str(".") >> digit.repeat(1)).as(:float))
33
34
  end
34
35
 
35
36
  # arithmetic
data/lib/hesabu/solver.rb CHANGED
@@ -61,10 +61,14 @@ module Hesabu
61
61
  end
62
62
 
63
63
  def log_and_raise(e)
64
+ log_error(e)
65
+ raise e
66
+ end
67
+
68
+ def log_error(e)
64
69
  log "Error during processing: #{$ERROR_INFO}"
65
70
  log "Error : #{e.class} #{e.message}"
66
71
  log "Backtrace:\n\t#{e.backtrace.join("\n\t")}"
67
- raise e
68
72
  end
69
73
 
70
74
  def evaluate_equation(equation)
@@ -94,6 +98,8 @@ module Hesabu
94
98
  ast_tree = begin
95
99
  @parser.parse(expression)
96
100
  rescue Parslet::ParseFailed => e
101
+ log(raw_expression)
102
+ log_error(e)
97
103
  raise ParseError, "failed to parse #{name} := #{expression} : #{e.message}"
98
104
  end
99
105
  var_identifiers = Set.new
@@ -1,3 +1,3 @@
1
1
  module Hesabu
2
- VERSION = "0.1.4".freeze
2
+ VERSION = "0.1.5".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hesabu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stéphan Mestach
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-07-05 00:00:00.000000000 Z
11
+ date: 2018-07-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parslet
@@ -170,6 +170,7 @@ files:
170
170
  - README.md
171
171
  - Rakefile
172
172
  - bin/console
173
+ - bin/fast
173
174
  - bin/setup
174
175
  - hesabu.gemspec
175
176
  - lib/hesabu.rb