language-ruby 0.5.6 → 0.6.0

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.
Files changed (194) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -4
  3. data/language-ruby.gemspec +3 -3
  4. data/lib/language/atom/any.rb +8 -0
  5. data/lib/language/atom/repeat.rb +15 -0
  6. data/lib/language/atom.rb +25 -42
  7. data/lib/language/output.rb +13 -11
  8. data/lib/language/parser/absent/present.rb +2 -0
  9. data/lib/language/parser/absent.rb +2 -0
  10. data/lib/language/parser/end_of_input.rb +2 -0
  11. data/lib/language/parser/interuption.rb +2 -0
  12. data/lib/language/parser/not_end_of_input.rb +2 -0
  13. data/lib/language/parser/str/not_found.rb +2 -0
  14. data/lib/language/parser/str.rb +2 -0
  15. data/lib/language/parser.rb +10 -10
  16. data/lib/language/version.rb +3 -0
  17. data/lib/language-ruby.rb +0 -5
  18. data/lib/language.rb +9 -7
  19. data/spec/spec_helper.rb +1 -6
  20. metadata +7 -221
  21. data/.cherry.js +0 -21
  22. data/.editorconfig +0 -9
  23. data/.github/workflows/rspec.yml +0 -14
  24. data/.gitignore +0 -2
  25. data/.prettierrc +0 -3
  26. data/.rspec +0 -1
  27. data/.tool-versions +0 -1
  28. data/CHANGELOG.md +0 -55
  29. data/Gemfile.lock +0 -49
  30. data/LICENSE +0 -7
  31. data/README.md +0 -103
  32. data/TODO +0 -17
  33. data/bin/code +0 -76
  34. data/bin/format +0 -3
  35. data/bin/publish +0 -19
  36. data/bin/template +0 -85
  37. data/bin/test +0 -17
  38. data/code-ruby.gemspec +0 -17
  39. data/docs/class.code +0 -9
  40. data/docs/euler/1.template +0 -10
  41. data/docs/euler/2.template +0 -16
  42. data/docs/euler/3.template +0 -16
  43. data/docs/euler/4.template +0 -10
  44. data/docs/euler/5.template +0 -13
  45. data/docs/fibonnaci.template +0 -14
  46. data/docs/meetup.code +0 -12
  47. data/docs/precedence.template +0 -36
  48. data/docs/rain.code +0 -22
  49. data/docs/slack.code +0 -17
  50. data/docs/stripe.code +0 -7
  51. data/docs/twitter.code +0 -9
  52. data/lib/code/error.rb +0 -18
  53. data/lib/code/node/base_10.rb +0 -29
  54. data/lib/code/node/base_16.rb +0 -13
  55. data/lib/code/node/base_2.rb +0 -13
  56. data/lib/code/node/base_8.rb +0 -13
  57. data/lib/code/node/boolean.rb +0 -22
  58. data/lib/code/node/call.rb +0 -47
  59. data/lib/code/node/call_argument.rb +0 -21
  60. data/lib/code/node/chained_call.rb +0 -23
  61. data/lib/code/node/code.rb +0 -20
  62. data/lib/code/node/decimal.rb +0 -26
  63. data/lib/code/node/dictionnary.rb +0 -33
  64. data/lib/code/node/equal.rb +0 -34
  65. data/lib/code/node/function.rb +0 -20
  66. data/lib/code/node/function_parameter.rb +0 -31
  67. data/lib/code/node/if.rb +0 -59
  68. data/lib/code/node/if_modifier.rb +0 -47
  69. data/lib/code/node/list.rb +0 -16
  70. data/lib/code/node/negation.rb +0 -15
  71. data/lib/code/node/not.rb +0 -15
  72. data/lib/code/node/nothing.rb +0 -12
  73. data/lib/code/node/number.rb +0 -25
  74. data/lib/code/node/operation.rb +0 -38
  75. data/lib/code/node/power.rb +0 -20
  76. data/lib/code/node/rescue.rb +0 -17
  77. data/lib/code/node/splat.rb +0 -15
  78. data/lib/code/node/statement.rb +0 -59
  79. data/lib/code/node/string.rb +0 -53
  80. data/lib/code/node/ternary.rb +0 -24
  81. data/lib/code/node/unary_minus.rb +0 -15
  82. data/lib/code/node/while.rb +0 -35
  83. data/lib/code/node.rb +0 -13
  84. data/lib/code/object/argument.rb +0 -32
  85. data/lib/code/object/boolean.rb +0 -27
  86. data/lib/code/object/decimal.rb +0 -162
  87. data/lib/code/object/dictionnary.rb +0 -96
  88. data/lib/code/object/function.rb +0 -64
  89. data/lib/code/object/global.rb +0 -42
  90. data/lib/code/object/integer.rb +0 -221
  91. data/lib/code/object/list.rb +0 -207
  92. data/lib/code/object/nothing.rb +0 -23
  93. data/lib/code/object/number.rb +0 -6
  94. data/lib/code/object/range.rb +0 -146
  95. data/lib/code/object/ruby_function.rb +0 -31
  96. data/lib/code/object/string.rb +0 -102
  97. data/lib/code/object.rb +0 -197
  98. data/lib/code/parser/addition.rb +0 -21
  99. data/lib/code/parser/and_operator.rb +0 -17
  100. data/lib/code/parser/bitwise_and.rb +0 -17
  101. data/lib/code/parser/bitwise_or.rb +0 -21
  102. data/lib/code/parser/boolean.rb +0 -17
  103. data/lib/code/parser/call.rb +0 -122
  104. data/lib/code/parser/chained_call.rb +0 -47
  105. data/lib/code/parser/class.rb +0 -45
  106. data/lib/code/parser/code.rb +0 -25
  107. data/lib/code/parser/dictionnary.rb +0 -67
  108. data/lib/code/parser/equal.rb +0 -94
  109. data/lib/code/parser/equality.rb +0 -35
  110. data/lib/code/parser/equality_lower.rb +0 -9
  111. data/lib/code/parser/function.rb +0 -85
  112. data/lib/code/parser/greater.rb +0 -25
  113. data/lib/code/parser/group.rb +0 -22
  114. data/lib/code/parser/if.rb +0 -63
  115. data/lib/code/parser/if_modifier.rb +0 -55
  116. data/lib/code/parser/list.rb +0 -42
  117. data/lib/code/parser/multiplication.rb +0 -25
  118. data/lib/code/parser/name.rb +0 -107
  119. data/lib/code/parser/negation.rb +0 -30
  120. data/lib/code/parser/not_keyword.rb +0 -23
  121. data/lib/code/parser/nothing.rb +0 -22
  122. data/lib/code/parser/number.rb +0 -154
  123. data/lib/code/parser/operation.rb +0 -35
  124. data/lib/code/parser/or_keyword.rb +0 -21
  125. data/lib/code/parser/or_operator.rb +0 -17
  126. data/lib/code/parser/power.rb +0 -43
  127. data/lib/code/parser/range.rb +0 -17
  128. data/lib/code/parser/rescue.rb +0 -39
  129. data/lib/code/parser/shift.rb +0 -21
  130. data/lib/code/parser/splat.rb +0 -31
  131. data/lib/code/parser/statement.rb +0 -9
  132. data/lib/code/parser/string.rb +0 -78
  133. data/lib/code/parser/ternary.rb +0 -46
  134. data/lib/code/parser/unary_minus.rb +0 -31
  135. data/lib/code/parser/while.rb +0 -36
  136. data/lib/code/parser/whitespace.rb +0 -49
  137. data/lib/code/parser.rb +0 -19
  138. data/lib/code/ruby.rb +0 -174
  139. data/lib/code-ruby.rb +0 -10
  140. data/lib/code.rb +0 -47
  141. data/lib/template/node/code_part.rb +0 -13
  142. data/lib/template/node/part.rb +0 -19
  143. data/lib/template/node/template.rb +0 -15
  144. data/lib/template/node/text_part.rb +0 -13
  145. data/lib/template/node.rb +0 -4
  146. data/lib/template/parser/template.rb +0 -39
  147. data/lib/template/parser.rb +0 -19
  148. data/lib/template/version.rb +0 -3
  149. data/lib/template-ruby.rb +0 -10
  150. data/lib/template.rb +0 -50
  151. data/spec/code/addition_spec.rb +0 -13
  152. data/spec/code/and_operator_spec.rb +0 -13
  153. data/spec/code/bitwise_and_spec.rb +0 -13
  154. data/spec/code/bitwise_or_spec.rb +0 -13
  155. data/spec/code/boolean_spec.rb +0 -13
  156. data/spec/code/call_spec.rb +0 -21
  157. data/spec/code/chained_call_spec.rb +0 -16
  158. data/spec/code/code_spec.rb +0 -29
  159. data/spec/code/dictionnary_spec.rb +0 -17
  160. data/spec/code/equal_spec.rb +0 -26
  161. data/spec/code/equality_spec.rb +0 -13
  162. data/spec/code/function_spec.rb +0 -18
  163. data/spec/code/greater_spec.rb +0 -18
  164. data/spec/code/group_spec.rb +0 -12
  165. data/spec/code/if_modifier_spec.rb +0 -20
  166. data/spec/code/if_spec.rb +0 -25
  167. data/spec/code/list_spec.rb +0 -19
  168. data/spec/code/multiplication_spec.rb +0 -18
  169. data/spec/code/negation_spec.rb +0 -20
  170. data/spec/code/not_keyword_spec.rb +0 -13
  171. data/spec/code/nothing_spec.rb +0 -17
  172. data/spec/code/number_spec.rb +0 -22
  173. data/spec/code/or_keyword_spec.rb +0 -17
  174. data/spec/code/or_operator_spec.rb +0 -16
  175. data/spec/code/parser/boolean_spec.rb +0 -16
  176. data/spec/code/parser/call_spec.rb +0 -26
  177. data/spec/code/parser/chained_call.rb +0 -17
  178. data/spec/code/parser/dictionnary_spec.rb +0 -18
  179. data/spec/code/parser/function_spec.rb +0 -16
  180. data/spec/code/parser/group_spec.rb +0 -18
  181. data/spec/code/parser/list_spec.rb +0 -18
  182. data/spec/code/parser/number_spec.rb +0 -12
  183. data/spec/code/parser/string_spec.rb +0 -21
  184. data/spec/code/parser_spec.rb +0 -23
  185. data/spec/code/power_spec.rb +0 -13
  186. data/spec/code/range_spec.rb +0 -16
  187. data/spec/code/rescue_spec.rb +0 -13
  188. data/spec/code/shift_spec.rb +0 -13
  189. data/spec/code/splat_spec.rb +0 -13
  190. data/spec/code/string_spec.rb +0 -27
  191. data/spec/code/ternary_spec.rb +0 -18
  192. data/spec/code/unary_minus_spec.rb +0 -13
  193. data/spec/code/while_spec.rb +0 -18
  194. data/template-ruby.gemspec +0 -19
@@ -1,21 +0,0 @@
1
- class Code
2
- class Parser
3
- class Addition < Operation
4
- def statement
5
- ::Code::Parser::Multiplication
6
- end
7
-
8
- def plus
9
- str("+")
10
- end
11
-
12
- def minus
13
- str("-")
14
- end
15
-
16
- def operator
17
- plus | minus
18
- end
19
- end
20
- end
21
- end
@@ -1,17 +0,0 @@
1
- class Code
2
- class Parser
3
- class AndOperator < Operation
4
- def statement
5
- ::Code::Parser::EqualityLower
6
- end
7
-
8
- def ampersand
9
- str("&")
10
- end
11
-
12
- def operator
13
- ampersand << ampersand
14
- end
15
- end
16
- end
17
- end
@@ -1,17 +0,0 @@
1
- class Code
2
- class Parser
3
- class BitwiseAnd < Operation
4
- def statement
5
- ::Code::Parser::Shift
6
- end
7
-
8
- def ampersand
9
- str("&")
10
- end
11
-
12
- def operator
13
- ampersand
14
- end
15
- end
16
- end
17
- end
@@ -1,21 +0,0 @@
1
- class Code
2
- class Parser
3
- class BitwiseOr < Operation
4
- def statement
5
- ::Code::Parser::BitwiseAnd
6
- end
7
-
8
- def pipe
9
- str("|")
10
- end
11
-
12
- def caret
13
- str("^")
14
- end
15
-
16
- def operator
17
- pipe | caret
18
- end
19
- end
20
- end
21
- end
@@ -1,17 +0,0 @@
1
- class Code
2
- class Parser
3
- class Boolean < Language
4
- def true_keyword
5
- str("true")
6
- end
7
-
8
- def false_keyword
9
- str("false")
10
- end
11
-
12
- def root
13
- (true_keyword | false_keyword).aka(:boolean) | ::Code::Parser::Nothing
14
- end
15
- end
16
- end
17
- end
@@ -1,122 +0,0 @@
1
- class Code
2
- class Parser
3
- class Call < Language
4
- def name
5
- ::Code::Parser::Name
6
- end
7
-
8
- def whitespace
9
- ::Code::Parser::Whitespace
10
- end
11
-
12
- def whitespace?
13
- whitespace.maybe
14
- end
15
-
16
- def code
17
- ::Code::Parser::Code
18
- end
19
-
20
- def code_present
21
- ::Code::Parser::Code.new.present
22
- end
23
-
24
- def colon
25
- str(":")
26
- end
27
-
28
- def comma
29
- str(",")
30
- end
31
-
32
- def pipe
33
- str("|")
34
- end
35
-
36
- def equal
37
- str("=")
38
- end
39
-
40
- def opening_curly_bracket
41
- str("{")
42
- end
43
-
44
- def closing_curly_bracket
45
- str("}")
46
- end
47
-
48
- def opening_parenthesis
49
- str("(")
50
- end
51
-
52
- def closing_parenthesis
53
- str(")")
54
- end
55
-
56
- def do_keyword
57
- str("do")
58
- end
59
-
60
- def end_keyword
61
- str("end")
62
- end
63
-
64
- def keyword_argument
65
- name.aka(:name) << colon << code_present.aka(:value)
66
- end
67
-
68
- def regular_argument
69
- code_present.aka(:value)
70
- end
71
-
72
- def argument
73
- keyword_argument | regular_argument
74
- end
75
-
76
- def arguments
77
- opening_parenthesis.ignore << whitespace? << argument.repeat(0, 1) <<
78
- (comma << whitespace? << argument << whitespace?).repeat <<
79
- whitespace? << closing_parenthesis.ignore.maybe
80
- end
81
-
82
- def keyword_parameter
83
- name.aka(:name) << whitespace? << colon.aka(:keyword) <<
84
- code_present.aka(:default).maybe
85
- end
86
-
87
- def regular_parameter
88
- name.aka(:name) << whitespace? <<
89
- (equal << whitespace? << code_present.aka(:default)).maybe
90
- end
91
-
92
- def parameter
93
- keyword_parameter | regular_parameter
94
- end
95
-
96
- def parameters
97
- pipe.ignore << whitespace? << parameter.repeat(0, 1) <<
98
- (whitespace? << comma << whitespace? << parameter).repeat <<
99
- whitespace? << pipe.ignore.maybe
100
- end
101
-
102
- def block
103
- (
104
- do_keyword << whitespace? << parameters.aka(:parameters).maybe <<
105
- code.aka(:body) << end_keyword.maybe
106
- ) |
107
- (
108
- opening_curly_bracket << whitespace? <<
109
- parameters.aka(:parameters).maybe << code.aka(:body) <<
110
- closing_curly_bracket.maybe
111
- )
112
- end
113
-
114
- def root
115
- (
116
- name.aka(:name) << (whitespace? << arguments.aka(:arguments)).maybe <<
117
- (whitespace? << block.aka(:block)).maybe
118
- ).aka(:call)
119
- end
120
- end
121
- end
122
- end
@@ -1,47 +0,0 @@
1
- class Code
2
- class Parser
3
- class ChainedCall < Operation
4
- def statement
5
- ::Code::Parser::Dictionnary
6
- end
7
-
8
- def whitespace
9
- ::Code::Parser::Whitespace
10
- end
11
-
12
- def whitespace?
13
- whitespace.maybe
14
- end
15
-
16
- def dot
17
- str(".")
18
- end
19
-
20
- def colon
21
- str(":")
22
- end
23
-
24
- def operator
25
- dot | (colon << colon)
26
- end
27
-
28
- def root
29
- (
30
- statement.aka(:first) <<
31
- (whitespace? << operator << whitespace? << statement)
32
- .repeat(1)
33
- .aka(:others)
34
- .maybe
35
- )
36
- .aka(:chained_call)
37
- .then do |output|
38
- if output[:chained_call][:others]
39
- output
40
- else
41
- output[:chained_call][:first]
42
- end
43
- end
44
- end
45
- end
46
- end
47
- end
@@ -1,45 +0,0 @@
1
- class Code
2
- class Parser
3
- class Class < Language
4
- def statement
5
- ::Code::Parser::While
6
- end
7
-
8
- def name
9
- ::Code::Parser::Name
10
- end
11
-
12
- def code
13
- ::Code::Parser::Code
14
- end
15
-
16
- def whitespace
17
- ::Code::Parser::Whitespace
18
- end
19
-
20
- def whitespace?
21
- whitespace.maybe
22
- end
23
-
24
- def class_keyword
25
- str("class")
26
- end
27
-
28
- def end_keyword
29
- str("end")
30
- end
31
-
32
- def lesser
33
- str("<")
34
- end
35
-
36
- def root
37
- (
38
- class_keyword << whitespace? << name.aka(:name) <<
39
- (whitespace? << lesser << name.aka(:superclass)).maybe <<
40
- code.aka(:body) << end_keyword.maybe
41
- ).aka(:class) | statement
42
- end
43
- end
44
- end
45
- end
@@ -1,25 +0,0 @@
1
- class Code
2
- class Parser
3
- class Code < Language
4
- def whitespace
5
- ::Code::Parser::Whitespace
6
- end
7
-
8
- def whitespace?(&block)
9
- whitespace.maybe(&block)
10
- end
11
-
12
- def statement
13
- ::Code::Parser::Statement
14
- end
15
-
16
- def present
17
- (whitespace? << statement << whitespace?).repeat(1)
18
- end
19
-
20
- def root
21
- present | whitespace?.then { [] }
22
- end
23
- end
24
- end
25
- end
@@ -1,67 +0,0 @@
1
- class Code
2
- class Parser
3
- class Dictionnary < Language
4
- def code
5
- ::Code::Parser::Code.new.present
6
- end
7
-
8
- def statement
9
- ::Code::Parser::Statement
10
- end
11
-
12
- def name
13
- ::Code::Parser::Name
14
- end
15
-
16
- def whitespace
17
- ::Code::Parser::Whitespace
18
- end
19
-
20
- def whitespace?
21
- whitespace.maybe
22
- end
23
-
24
- def opening_curly_bracket
25
- str("{")
26
- end
27
-
28
- def closing_curly_bracket
29
- str("}")
30
- end
31
-
32
- def comma
33
- str(",")
34
- end
35
-
36
- def colon
37
- str(":")
38
- end
39
-
40
- def equal
41
- str("=")
42
- end
43
-
44
- def greater
45
- str(">")
46
- end
47
-
48
- def key_value
49
- (name.aka(:name) << colon << code.aka(:value)) |
50
- (statement.aka(:statement) << colon << code.aka(:value)) |
51
- (
52
- statement.aka(:statement) << whitespace? << equal << greater <<
53
- code.aka(:value)
54
- )
55
- end
56
-
57
- def root
58
- (
59
- opening_curly_bracket.ignore << whitespace? <<
60
- key_value.repeat(0, 1) <<
61
- (whitespace? << comma << whitespace? << key_value).repeat <<
62
- (whitespace? << closing_curly_bracket.ignore).maybe
63
- ).aka(:dictionnary) | ::Code::Parser::List
64
- end
65
- end
66
- end
67
- end
@@ -1,94 +0,0 @@
1
- class Code
2
- class Parser
3
- class Equal < Language
4
- def statement
5
- ::Code::Parser::Rescue
6
- end
7
-
8
- def name
9
- ::Code::Parser::Name
10
- end
11
-
12
- def equal_class
13
- ::Code::Parser::Equal
14
- end
15
-
16
- def whitespace
17
- ::Code::Parser::Whitespace
18
- end
19
-
20
- def whitespace?
21
- whitespace.maybe
22
- end
23
-
24
- def equal
25
- str("=")
26
- end
27
-
28
- def plus
29
- str("+")
30
- end
31
-
32
- def minus
33
- str("-")
34
- end
35
-
36
- def asterisk
37
- str("*")
38
- end
39
-
40
- def slash
41
- str("/")
42
- end
43
-
44
- def percent
45
- str("%")
46
- end
47
-
48
- def greater
49
- str(">")
50
- end
51
-
52
- def lesser
53
- str("<")
54
- end
55
-
56
- def ampersand
57
- str("&")
58
- end
59
-
60
- def pipe
61
- str("|")
62
- end
63
-
64
- def caret
65
- str("^")
66
- end
67
-
68
- def dot
69
- str(".")
70
- end
71
-
72
- def operator
73
- equal.ignore | (plus << equal.ignore) | (minus << equal.ignore) |
74
- (asterisk << equal.ignore) | (slash << equal.ignore) |
75
- (percent << equal.ignore) | (greater << greater << equal.ignore) |
76
- (lesser << lesser << equal.ignore) | (ampersand << equal.ignore) |
77
- (pipe << equal.ignore) | (caret << equal.ignore) |
78
- (pipe << pipe << equal.ignore) |
79
- (ampersand << ampersand << equal.ignore)
80
- end
81
-
82
- def names
83
- name << (dot << name).repeat
84
- end
85
-
86
- def root
87
- (
88
- names.aka(:left) << whitespace? << operator.aka(:operator) <<
89
- whitespace? << equal_class.aka(:right)
90
- ).aka(:equal) | statement
91
- end
92
- end
93
- end
94
- end
@@ -1,35 +0,0 @@
1
- class Code
2
- class Parser
3
- class Equality < Operation
4
- def statement
5
- ::Code::Parser::Splat
6
- end
7
-
8
- def equal
9
- str("=")
10
- end
11
-
12
- def greater
13
- str(">")
14
- end
15
-
16
- def lesser
17
- str("<")
18
- end
19
-
20
- def exclamation_point
21
- str("!")
22
- end
23
-
24
- def tilde
25
- str("~")
26
- end
27
-
28
- def operator
29
- (equal << equal << equal) | (equal << equal) |
30
- (lesser << equal << greater) | (exclamation_point << equal) |
31
- (equal << tilde) | (tilde << equal) | (exclamation_point << tilde)
32
- end
33
- end
34
- end
35
- end
@@ -1,9 +0,0 @@
1
- class Code
2
- class Parser
3
- class EqualityLower < Equality
4
- def statement
5
- ::Code::Parser::Greater
6
- end
7
- end
8
- end
9
- end
@@ -1,85 +0,0 @@
1
- class Code
2
- class Parser
3
- class Function < Language
4
- def name
5
- ::Code::Parser::Name
6
- end
7
-
8
- def code
9
- ::Code::Parser::Code
10
- end
11
-
12
- def code_present
13
- ::Code::Parser::Code.new.present
14
- end
15
-
16
- def whitespace
17
- ::Code::Parser::Whitespace
18
- end
19
-
20
- def whitespace?
21
- whitespace.maybe
22
- end
23
-
24
- def opening_parenthesis
25
- str("(")
26
- end
27
-
28
- def closing_parenthesis
29
- str(")")
30
- end
31
-
32
- def colon
33
- str(":")
34
- end
35
-
36
- def comma
37
- str(",")
38
- end
39
-
40
- def equal
41
- str("=")
42
- end
43
-
44
- def greater
45
- str(">")
46
- end
47
-
48
- def opening_curly_bracket
49
- str("{")
50
- end
51
-
52
- def closing_curly_bracket
53
- str("}")
54
- end
55
-
56
- def keyword_parameter
57
- name.aka(:name) << whitespace? << colon.aka(:keyword) <<
58
- code_present.aka(:default).maybe
59
- end
60
-
61
- def regular_parameter
62
- name.aka(:name) << whitespace? <<
63
- (equal << whitespace? << code_present.aka(:default)).maybe
64
- end
65
-
66
- def parameter
67
- keyword_parameter | regular_parameter
68
- end
69
-
70
- def parameters
71
- opening_parenthesis.ignore << whitespace? << parameter.repeat(0, 1) <<
72
- (whitespace? << comma << whitespace? << parameter).repeat <<
73
- whitespace? << closing_parenthesis.ignore.maybe
74
- end
75
-
76
- def root
77
- (
78
- parameters.aka(:parameters) << whitespace? << equal << greater <<
79
- whitespace? << opening_curly_bracket << code.aka(:body) <<
80
- closing_curly_bracket.maybe
81
- ).aka(:function) | ::Code::Parser::ChainedCall
82
- end
83
- end
84
- end
85
- end
@@ -1,25 +0,0 @@
1
- class Code
2
- class Parser
3
- class Greater < Operation
4
- def statement
5
- ::Code::Parser::BitwiseOr
6
- end
7
-
8
- def greater
9
- str(">")
10
- end
11
-
12
- def lesser
13
- str("<")
14
- end
15
-
16
- def equal
17
- str("=")
18
- end
19
-
20
- def operator
21
- (greater << equal) | (lesser << equal) | greater | lesser
22
- end
23
- end
24
- end
25
- end
@@ -1,22 +0,0 @@
1
- class Code
2
- class Parser
3
- class Group < Language
4
- def code
5
- ::Code::Parser::Code
6
- end
7
-
8
- def opening_parenthesis
9
- str("(")
10
- end
11
-
12
- def closing_parenthesis
13
- str(")")
14
- end
15
-
16
- def root
17
- (opening_parenthesis << code << closing_parenthesis.maybe).aka(:group) |
18
- ::Code::Parser::Call
19
- end
20
- end
21
- end
22
- end