template-ruby-parser 0.1.7 → 0.1.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/code/parser/number.rb +30 -12
- data/lib/code/parser.rb +1 -0
- data/lib/template/parser.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 124eb85f640967137c493954a5b4c90bd5d4fb559837ecdbfc10fb22e7cf5e24
|
4
|
+
data.tar.gz: 6ebc3cd2edd7fdad592b6a84a2fe67371b11b3832121daaf7a66efbe64f81c31
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dd3664a30abb295ca89a3dba32eb1305a2d863f28ff5b668b6ee02d579e4c99d308c6ae7e44f72777d79e44b0484e6d60543773981bf405dc6b13280f6bb139a
|
7
|
+
data.tar.gz: c85cb2d2e65bdedf1a79d0929593aaa45951df2708e517a8eb360ad9955c427b40bd7e094f46c8c2801da3f82e7871ffe1d5c1dfbe1d5c6462d7474e40b5dd32
|
data/CHANGELOG.md
CHANGED
data/lib/code/parser/number.rb
CHANGED
@@ -10,18 +10,7 @@ class Code
|
|
10
10
|
elsif match(B)
|
11
11
|
parse_base(2)
|
12
12
|
else
|
13
|
-
|
14
|
-
|
15
|
-
if next?(DOT) && next_next?(DIGITS)
|
16
|
-
consume
|
17
|
-
while (next?(DIGITS) || next?(UNDERSCORE)) && !end_of_input?
|
18
|
-
consume
|
19
|
-
end
|
20
|
-
|
21
|
-
{ decimal: buffer.gsub(UNDERSCORE, EMPTY_STRING) }
|
22
|
-
else
|
23
|
-
{ integer: buffer.gsub(UNDERSCORE, EMPTY_STRING).to_i }
|
24
|
-
end
|
13
|
+
parse_number
|
25
14
|
end
|
26
15
|
else
|
27
16
|
parse_subclass(::Code::Parser::Boolean)
|
@@ -34,6 +23,35 @@ class Code
|
|
34
23
|
|
35
24
|
{ integer: buffer.gsub(UNDERSCORE, EMPTY_STRING).to_i(base) }
|
36
25
|
end
|
26
|
+
|
27
|
+
def parse_number
|
28
|
+
consume while (next?(DIGITS) || next?(UNDERSCORE)) && !end_of_input?
|
29
|
+
|
30
|
+
if next?(DOT) && next_next?(DIGITS)
|
31
|
+
consume
|
32
|
+
consume while (next?(DIGITS) || next?(UNDERSCORE)) && !end_of_input?
|
33
|
+
|
34
|
+
decimal = buffer!.gsub(UNDERSCORE, EMPTY_STRING)
|
35
|
+
|
36
|
+
if match(E)
|
37
|
+
buffer!
|
38
|
+
exponent = parse_number
|
39
|
+
{ decimal: { value: decimal, exponent: exponent } }
|
40
|
+
else
|
41
|
+
{ decimal: decimal }
|
42
|
+
end
|
43
|
+
else
|
44
|
+
integer = buffer!.gsub(UNDERSCORE, EMPTY_STRING).to_i
|
45
|
+
|
46
|
+
if match(E)
|
47
|
+
buffer!
|
48
|
+
exponent = parse_number
|
49
|
+
{ integer: { value: integer, exponent: exponent } }
|
50
|
+
else
|
51
|
+
{ integer: integer }
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
37
55
|
end
|
38
56
|
end
|
39
57
|
end
|
data/lib/code/parser.rb
CHANGED
data/lib/template/parser.rb
CHANGED