Skip to content

Commit c5b5831

Browse files
committed
wip
1 parent 6dcdab3 commit c5b5831

2 files changed

Lines changed: 18 additions & 12 deletions

File tree

lib/lrama/grammar/parser_state.rb

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -115,14 +115,12 @@ def enum_type
115115
end
116116

117117
def enum_body
118-
state_list.map do |state|
119-
state.s_value
120-
end.join(",\n ")
118+
enum_numbers.join(",\n ")
121119
end
122120

123121
def int_to_name
124122
state_list.map do |state|
125-
"\"#{state.s_value}\""
123+
"\"#{state.s_value}\""
126124
end << "YY_NULLPTR"
127125
end
128126

@@ -133,6 +131,14 @@ def enum_name_table_name
133131
def stack_prefix
134132
"yyparser_state_#{state_name}"
135133
end
134+
135+
private
136+
137+
def enum_numbers
138+
state_list.map do |state|
139+
"yyparser_state_#{state.s_value}"
140+
end
141+
end
136142
end
137143
end
138144
end

spec/lrama/grammar/parser_state_spec.rb

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@
1616
expect(parser_state.enum_definition).to eq <<~ENUM
1717
enum yyparser_state_in_rescue
1818
{
19-
before_rescue,
20-
after_rescue,
21-
after_else,
22-
after_ensure
19+
yyparser_state_before_rescue,
20+
yyparser_state_after_rescue,
21+
yyparser_state_after_else,
22+
yyparser_state_after_ensure
2323
};
2424
typedef enum yyparser_state_in_rescue yyparser_state_in_rescue_t;
2525
@@ -143,10 +143,10 @@
143143
describe "#enum_body" do
144144
it "returns enum body" do
145145
expect(parser_state.enum_body).to eq <<~BODY.chomp
146-
before_rescue,
147-
after_rescue,
148-
after_else,
149-
after_ensure
146+
yyparser_state_before_rescue,
147+
yyparser_state_after_rescue,
148+
yyparser_state_after_else,
149+
yyparser_state_after_ensure
150150
BODY
151151
end
152152
end

0 commit comments

Comments
 (0)