Skip to content

Commit 407f58f

Browse files
fix keyword confusion original_price marine's program
1 parent 19f30e4 commit 407f58f

12 files changed

Lines changed: 90 additions & 36 deletions

File tree

lib/code/parser/boolean.rb

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,16 @@
33
class Code
44
class Parser
55
class Boolean < Language
6+
def separator
7+
Name.new.separator
8+
end
9+
610
def true_keyword
7-
str("true")
11+
str("true") << separator.present
812
end
913

1014
def false_keyword
11-
str("false")
15+
str("false") << separator.present
1216
end
1317

1418
def root

lib/code/parser/call.rb

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,16 +55,20 @@ def closing_parenthesis
5555
str(")")
5656
end
5757

58+
def separator
59+
Name.new.separator
60+
end
61+
5862
def do_keyword
59-
str("do")
63+
str("do") << separator.present
6064
end
6165

6266
def begin_keyword
63-
str("do")
67+
str("do") << separator.present
6468
end
6569

6670
def end_keyword
67-
str("end")
71+
str("end") << separator.present
6872
end
6973

7074
def asterisk

lib/code/parser/function.rb

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,20 @@ def whitespace?
2323
whitespace.maybe
2424
end
2525

26+
def separator
27+
Name.new.separator
28+
end
29+
2630
def do_keyword
27-
str("do")
31+
str("do") << separator.present
2832
end
2933

3034
def begin_keyword
31-
str("begin")
35+
str("begin") << separator.present
3236
end
3337

3438
def end_keyword
35-
str("end")
39+
str("end") << separator.present
3640
end
3741

3842
def spread_operator

lib/code/parser/group.rb

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,20 @@ def closing_parenthesis
2323
str(")")
2424
end
2525

26+
def separator
27+
Name.new.separator
28+
end
29+
2630
def end_keyword
27-
str("end")
31+
str("end") << separator.present
2832
end
2933

3034
def do_keyword
31-
str("do")
35+
str("do") << separator.present
3236
end
3337

3438
def begin_keyword
35-
str("begin")
39+
str("begin") << separator.present
3640
end
3741

3842
def root

lib/code/parser/if.rb

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,44 +23,48 @@ def whitespace?
2323
whitespace.maybe
2424
end
2525

26+
def separator
27+
Name.new.separator
28+
end
29+
2630
def do_keyword
27-
str("do")
31+
str("do") << separator.present
2832
end
2933

3034
def begin_keyword
31-
str("begin")
35+
str("begin") << separator.present
3236
end
3337

3438
def opening_curly_bracket
3539
str("{")
3640
end
3741

3842
def closing_curly_bracket
39-
str("{")
43+
str("}")
4044
end
4145

4246
def if_keyword
43-
str("if")
47+
str("if") << separator.present
4448
end
4549

4650
def unless_keyword
47-
str("unless")
51+
str("unless") << separator.present
4852
end
4953

5054
def elsif_keyword
51-
str("elsif")
55+
str("elsif") << separator.present
5256
end
5357

5458
def elsunless_keyword
55-
str("elsunless")
59+
str("elsunless") << separator.present
5660
end
5761

5862
def else_keyword
59-
str("else")
63+
str("else") << separator.present
6064
end
6165

6266
def end_keyword
63-
str("end")
67+
str("end") << separator.present
6468
end
6569

6670
def body

lib/code/parser/if_modifier.rb

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,24 @@ def whitespace
1111
Whitespace.new.without_newline
1212
end
1313

14+
def separator
15+
Name.new.separator
16+
end
17+
1418
def if_keyword
15-
str("if")
19+
str("if") << separator.present
1620
end
1721

1822
def unless_keyword
19-
str("unless")
23+
str("unless") << separator.present
2024
end
2125

2226
def while_keyword
23-
str("while")
27+
str("while") << separator.present
2428
end
2529

2630
def until_keyword
27-
str("until")
31+
str("until") << separator.present
2832
end
2933

3034
def operator

lib/code/parser/not_keyword.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,12 @@ def whitespace
1111
Whitespace
1212
end
1313

14+
def separator
15+
Name.new.separator
16+
end
17+
1418
def not_keyword
15-
str("not")
19+
str("not") << separator.present
1620
end
1721

1822
def root

lib/code/parser/nothing.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,12 @@
33
class Code
44
class Parser
55
class Nothing < Language
6+
def separator
7+
Name.new.separator
8+
end
9+
610
def nothing_keyword
7-
str("nothing")
11+
str("nothing") << separator.present
812
end
913

1014
def root

lib/code/parser/or_keyword.rb

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,16 @@ def statement
77
NotKeyword
88
end
99

10+
def separator
11+
Name.new.separator
12+
end
13+
1014
def or_keyword
11-
str("or")
15+
str("or") << separator.present
1216
end
1317

1418
def and_keyword
15-
str("and")
19+
str("and") << separator.present
1620
end
1721

1822
def operator

lib/code/parser/while.rb

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,28 +19,32 @@ def code
1919
Code
2020
end
2121

22+
def separator
23+
Name.new.separator
24+
end
25+
2226
def while_keyword
23-
str("while")
27+
str("while") << separator.present
2428
end
2529

2630
def until_keyword
27-
str("until")
31+
str("until") << separator.present
2832
end
2933

3034
def end_keyword
31-
str("end")
35+
str("end") << separator.present
3236
end
3337

3438
def do_keyword
35-
str("do")
39+
str("do") << separator.present
3640
end
3741

3842
def begin_keyword
39-
str("begin")
43+
str("begin") << separator.present
4044
end
4145

4246
def loop_keyword
43-
str("loop")
47+
str("loop") << separator.present
4448
end
4549

4650
def opening_curly_bracket

0 commit comments

Comments
 (0)