programming language
Révision | 51dd2f90f3116c725b9c0e63e28e895c67bd1479 (tree) |
---|---|
l'heure | 2023-03-30 23:24:04 |
Auteur | dhrname <dhrname@joes...> |
Commiter | dhrname |
Modify the BNF for module_statement
@@ -292,7 +292,6 @@ namespace jstr | ||
292 | 292 | statement_list |
293 | 293 | BLOCKEND |
294 | 294 | modules_statement |
295 | - | END | |
296 | 295 | | <ε>*/ |
297 | 296 | {CLASS |
298 | 297 | , IDENTIFIER |
@@ -308,7 +307,6 @@ namespace jstr | ||
308 | 307 | , statement_list |
309 | 308 | , BLOCKEND |
310 | 309 | , modules_statement} |
311 | - ,{END, 0, 0, 0, 0, 0, 0, 0, 0, 0} | |
312 | 310 | ,{-1, 0, 0, 0, 0, 0, 0, 0, 0, 0} |
313 | 311 | ,{0, 0, 0, 0, 0, 0, 0, 0, 0, 0} |
314 | 312 | ,{0, 0, 0, 0, 0, 0, 0, 0, 0, 0} |
@@ -316,6 +314,7 @@ namespace jstr | ||
316 | 314 | ,{0, 0, 0, 0, 0, 0, 0, 0, 0, 0} |
317 | 315 | ,{0, 0, 0, 0, 0, 0, 0, 0, 0, 0} |
318 | 316 | ,{0, 0, 0, 0, 0, 0, 0, 0, 0, 0} |
317 | + ,{0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | |
319 | 318 | } |
320 | 319 | , { |
321 | 320 | /*prefix_class_list: RATIONALLEFT, IDENTIFIER, prefix_class_list |
@@ -445,7 +445,7 @@ int main(int argc, char **argv) | ||
445 | 445 | EXPECT(firstset.contains((int32_t)jstr::parser::terminal::CLASS), true); |
446 | 446 | EXPECT(firstset.contains((int32_t)jstr::parser::terminal::INCLUDE), true); |
447 | 447 | EXPECT(firstset.contains((int32_t)jstr::parser::terminal::MAIN), true); |
448 | - EXPECT(firstset.contains((int32_t)jstr::parser::terminal::END), true); | |
448 | + EXPECT(firstset.contains((int32_t)jstr::parser::terminal::END), false); | |
449 | 449 | EXPECT(firstset.contains((int32_t)jstr::parser::terminal::JBEGIN), false); |
450 | 450 | metaphr->setSymbolId((int32_t)jstr::parser::nonterminal::equality_operator); |
451 | 451 | std::unordered_set<int32_t> firstset2 = metaphr->getFirstSet(); |