hesabu 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
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