{"action":"opened","issue":{"url":"https://api.github.com/repos/LuisHsu/jscc/issues/1","repository_url":"https://api.github.com/repos/LuisHsu/jscc","labels_url":"https://api.github.com/repos/LuisHsu/jscc/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/LuisHsu/jscc/issues/1/comments","events_url":"https://api.github.com/repos/LuisHsu/jscc/issues/1/events","html_url":"https://github.com/LuisHsu/jscc/issues/1","id":324613195,"number":1,"title":"有些規則疑似沒有被生成","user":{"login":"LuisHsu","id":7553694,"avatar_url":"https://avatars2.githubusercontent.com/u/7553694?v=4","gravatar_id":"","url":"https://api.github.com/users/LuisHsu","html_url":"https://github.com/LuisHsu","followers_url":"https://api.github.com/users/LuisHsu/followers","following_url":"https://api.github.com/users/LuisHsu/following{/other_user}","gists_url":"https://api.github.com/users/LuisHsu/gists{/gist_id}","starred_url":"https://api.github.com/users/LuisHsu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LuisHsu/subscriptions","organizations_url":"https://api.github.com/users/LuisHsu/orgs","repos_url":"https://api.github.com/users/LuisHsu/repos","events_url":"https://api.github.com/users/LuisHsu/events{/privacy}","received_events_url":"https://api.github.com/users/LuisHsu/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-05-19T08:40:01Z","updated_at":"2018-05-19T08:40:01Z","closed_at":null,"author_association":"OWNER","body":"### 描述\r\n在檢查 LALR 狀態時，我發現有 reduce 的狀態總共有 269 個\r\n但是展開後的規則有 273條，所以也許有些規則沒有被正確產生，需要做檢查\r\n\r\n### 檢查清單\r\n\r\n+ `start`\r\n\t- [ ] `translation_unit`\r\n+ `primary_expression`\r\n\t- [ ] `identifier`\r\n\t- [ ] `floating`\r\n\t- [ ] `integer`\r\n\t- [ ] `character`\r\n\t- [ ] `string`\r\n\t- [ ] `(`,`expression`,`)`\r\n\t- [ ] `generic_selection`\r\n+ `generic_selection`\r\n\t- [ ] `_Generic`,`(`,`assignment_expression`,`,`,`generic_assoc_list`\r\n+ `generic_assoc_list`\r\n\t- [ ] `generic_association`\r\n\t- [ ] `generic_assoc_list`,`,`,`generic_association`\r\n+ `generic_association`\r\n\t- [ ] `type_name`,`:`,`assignment_expression`\r\n\t- [ ] `default`,`:`,`assignment_expression`\r\n+ `postfix_expression`\r\n\t- [ ] `primary_expression`\r\n\t- [ ] `postfix_expression`,`[`,`expression`,`]`\r\n\t- [ ] `postfix_expression`,`(`,`argument_expression_list`,`]`\r\n\t- [ ] `postfix_expression`,`.`,`identifier`\r\n\t- [ ] `postfix_expression`,`->`,`identifier`\r\n\t- [ ] `postfix_expression`,`++`\r\n\t- [ ] `postfix_expression`,`--`\r\n\t- [ ] `(`,`type_name`,`)`,`{`,`initializer_list`,`}`\r\n\t- [ ] `(`,`type_name`,`)`,`{`,`initializer_list`,`,`,`}`\r\n\t- [ ] `postfix_expression`,`(`,`]`\r\n+ `argument_expression_list`\r\n\t- [ ] `assignment_expression`\r\n\t- [ ] `argument_expression_list`,`,`,`assignment_expression`\r\n+ `unary_expression`\r\n\t- [ ] `postfix_expression`\r\n\t- [ ] `++`,`unary_expression`\r\n\t- [ ] `--`,`unary_expression`\r\n\t- [ ] `unary_operator`,`cast_expression`\r\n\t- [ ] `sizeof`,`unary_expression`\r\n\t- [ ] `sizeof`,`(`,`type_name`,`)`\r\n\t- [ ] `_Alignof`,`(`,`type_name`,`)`\r\n+ `unary_operator`\r\n\t- [ ] `&`\r\n\t- [ ] `*`\r\n\t- [ ] `+`\r\n\t- [ ] `-`\r\n\t- [ ] `~`\r\n\t- [ ] `!`\r\n+ `cast_expression`\r\n\t- [ ] `unary_expression`\r\n\t- [ ] `(`,`type_name`,`)`,`cast_expression`\r\n+ `multiplicative_expression`\r\n\t- [ ] `cast_expression`\r\n\t- [ ] `multiplicative_expression`,`*`,`cast_expression`\r\n\t- [ ] `multiplicative_expression`,`/`,`cast_expression`\r\n\t- [ ] `multiplicative_expression`,`%`,`cast_expression`\r\n+ `additive_expression`\r\n\t- [ ] `multiplicative_expression`\r\n\t- [ ] `additive_expression`,`+`,`multiplicative_expression`\r\n\t- [ ] `additive_expression`,`-`,`multiplicative_expression`\r\n+ `shift_expression`\r\n\t- [ ] `additive_expression`\r\n\t- [ ] `shift_expression`,`<<`,`additive_expression`\r\n\t- [ ] `shift_expression`,`>>`,`additive_expression`\r\n+ `relational_expression`\r\n\t- [ ] `shift_expression`\r\n\t- [ ] `relational_expression`,`<`,`shift_expression`\r\n\t- [ ] `relational_expression`,`>`,`shift_expression`\r\n\t- [ ] `relational_expression`,`>=`,`shift_expression`\r\n\t- [ ] `relational_expression`,`<=`,`shift_expression`\r\n+ `equality_expression`\r\n\t- [ ] `relational_expression`\r\n\t- [ ] `equality_expression`,`==`,`relational_expression`\r\n\t- [ ] `equality_expression`,`!=`,`relational_expression`\r\n+ `and_expression`\r\n\t- [ ] `equality_expression`\r\n\t- [ ] `and_expression`,`&`,`equality_expression`\r\n+ `exclusive_or_expression`\r\n\t- [ ] `and_expression`\r\n\t- [ ] `exclusive_or_expression`,`^`,`and_expression`\r\n+ `inclusive_or_expression`\r\n\t- [ ] `exclusive_or_expression`\r\n\t- [ ] `inclusive_or_expression`,`|`,`exclusive_or_expression`\r\n+ `logical_and_expression`\r\n\t- [ ] `inclusive_or_expression`\r\n\t- [ ] `logical_and_expression`,`&&`,`inclusive_or_expression`\r\n+ `logical_or_expression`\r\n\t- [ ] `logical_and_expression`\r\n\t- [ ] `logical_or_expression`,`||`,`logical_and_expression`\r\n+ `conditional_expression`\r\n\t- [ ] `logical_or_expression`\r\n\t- [ ] `logical_or_expression`,`?`,`expression`,`:`,`conditional_expression`\r\n+ `assignment_expression`\r\n\t- [ ] `conditional_expression`\r\n\t- [ ] `unary_expression`,`assignment_operator`,`assignment_expression`\r\n+ `assignment_operator`\r\n\t- [ ] `=`\r\n\t- [ ] `*=`\r\n\t- [ ] `/=`\r\n\t- [ ] `%=`\r\n\t- [ ] `+=`\r\n\t- [ ] `-=`\r\n\t- [ ] `<<=`\r\n\t- [ ] `>>=`\r\n\t- [ ] `&=`\r\n\t- [ ] `^=`\r\n\t- [ ] `|=`\r\n+ `expression`\r\n\t- [ ] `assignment_expression`\r\n\t- [ ] `expression`,`,`,`assignment_expression`\r\n+ `constant_expression`\r\n\t- [ ] `conditional_expression`\r\n+ `declaration`\r\n\t- [ ] `declaration_specifiers`,`init_declarator_list`,`;`\r\n\t- [ ] `static_assert_declaration`\r\n\t- [ ] `declaration_specifiers`,`;`\r\n+ `declaration_specifiers`\r\n\t- [ ] `storage_class_specifier`,`declaration_specifiers`\r\n\t- [ ] `type_specifier`,`declaration_specifiers`\r\n\t- [ ] `type_qualifier`,`declaration_specifiers`\r\n\t- [ ] `function_specifier`,`declaration_specifiers`\r\n\t- [ ] `alignment_specifier`,`declaration_specifiers`\r\n+ `init_declarator_list`\r\n\t- [ ] `init_declarator`\r\n\t- [ ] `init_declarator_list`,`,`,`init_declarator`\r\n+ `init_declarator`\r\n\t- [ ] `declarator`\r\n\t- [ ] `declarator`,`=`,`initializer`\r\n+ `storage_class_specifier`\r\n\t- [ ] `typedef`\r\n\t- [ ] `extern`\r\n\t- [ ] `static`\r\n\t- [ ] `_Thread_local`\r\n\t- [ ] `auto`\r\n\t- [ ] `register`\r\n+ `type_specifier`\r\n\t- [ ] `void`\r\n\t- [ ] `char`\r\n\t- [ ] `short`\r\n\t- [ ] `int`\r\n\t- [ ] `long`\r\n\t- [ ] `float`\r\n\t- [ ] `double`\r\n\t- [ ] `signed`\r\n\t- [ ] `unsigned`\r\n\t- [ ] `_Bool`\r\n\t- [ ] `_Complex`\r\n\t- [ ] `atomic_type_specifier`\r\n\t- [ ] `struct_or_union_specifier`\r\n\t- [ ] `enum_specifier`\r\n\t- [ ] `typedef_name`\r\n+ `struct_or_union_specifier`\r\n\t- [ ] `struct_or_union`,`identifier`,`{`,`struct_declaration_list`,`}`\r\n\t- [ ] `struct_or_union`,`identifier`\r\n\t- [ ] `struct_or_union`,`{`,`struct_declaration_list`,`}`\r\n+ `struct_or_union`\r\n\t- [ ] `struct`\r\n\t- [ ] `union`\r\n+ `struct_declaration_list`\r\n\t- [ ] `struct_declaration`\r\n\t- [ ] `struct_declaration_list`,`struct_declaration`\r\n+ `struct_declaration`\r\n\t- [ ] `specifier_qualifier_list`,`struct_declaration_list`,`;`\r\n\t- [ ] `static_assert_declaration`\r\n\t- [ ] `specifier_qualifier_list`,`;`\r\n+ `specifier_qualifier_list`\r\n\t- [ ] `type_specifier`,`specifier_qualifier_list`\r\n\t- [ ] `type_qualifier`,`specifier_qualifier_list`\r\n\t- [ ] `type_specifier`\r\n\t- [ ] `type_qualifier`\r\n+ `struct_declarator_list`\r\n\t- [ ] `struct_declarator`\r\n\t- [ ] `struct_declarator_list`,`,`,`struct_declarator`\r\n+ `struct_declarator`\r\n\t- [ ] `declarator`\r\n\t- [ ] `declarator`,`:`,`constant_expression`\r\n\t- [ ] `:`,`constant_expression`\r\n+ `enum_specifier`\r\n\t- [ ] `enum`,`identifier`,`{`,`enumerator_list`,`}`\r\n\t- [ ] `enum`,`identifier`,`{`,`enumerator_list`,`,`,`}`\r\n\t- [ ] `enum`,`identifier`\r\n\t- [ ] `enum`,`{`,`enumerator_list`,`}`\r\n\t- [ ] `enum`,`{`,`enumerator_list`,`,`,`}`\r\n+ `enumerator_list`\r\n\t- [ ] `enumerator`\r\n\t- [ ] `enumerator_list`,`,`,`enumerator`\r\n+ `enumerator`\r\n\t- [ ] `identifier`\r\n\t- [ ] `identifier`,`,`,`constant_expression`\r\n+ `atomic_type_specifier`\r\n\t- [ ] `_Atomic`,`(`,`type_name`,`)`\r\n+ `type_qualifier`\r\n\t- [ ] `const`\r\n\t- [ ] `restrict`\r\n\t- [ ] `volatile`\r\n\t- [ ] `_Atomic`\r\n+ `function_specifier`\r\n\t- [ ] `inline`\r\n\t- [ ] `_Noreturn`\r\n+ `alignment_specifier`\r\n\t- [ ] `_Alignas`,`(`,`type_name`,`)`\r\n\t- [ ] `_Alignas`,`(`,`constant_expression`,`)`\r\n+ `declarator`\r\n\t- [ ] `pointer`,`direct_declarator`\r\n\t- [ ] `direct_declarator`\r\n+ `direct_declarator`\r\n\t- [ ] `identifier`\r\n\t- [ ] `(`,`declarator`,`)`\r\n\t- [ ] `direct_declarator`,`[`,`type_qualifier_list`,`assignment_expression`,`]`\r\n\t- [ ] `direct_declarator`,`[`,`static`,`type_qualifier_list`,`assignment_expression`,`]`\r\n\t- [ ] `direct_declarator`,`[`,`type_qualifier_list`,`static`,`assignment_expression`,`]`\r\n\t- [ ] `direct_declarator`,`[`,`type_qualifier_list`,`*`,`]`\r\n\t- [ ] `direct_declarator`,`(`,`parameter_type_list`,`)`\r\n\t- [ ] `direct_declarator`,`(`,`identifier_list`,`)`\r\n\t- [ ] `direct_declarator`,`[`,`assignment_expression`,`]`\r\n\t- [ ] `direct_declarator`,`[`,`type_qualifier_list`,`]`\r\n\t- [ ] `direct_declarator`,`[`,`static`,`assignment_expression`,`]`\r\n\t- [ ] `direct_declarator`,`[`,`*`,`]`\r\n\t- [ ] `direct_declarator`,`(`,`)`\r\n\t- [ ] `direct_declarator`,`[`,`]`\r\n+ `pointer`\r\n\t- [ ] `*`,`type_qualifier_list`\r\n\t- [ ] `*`,`type_qualifier_list`,`pointer`\r\n\t- [ ] `*`\r\n\t- [ ] `*`,`pointer`\r\n+ `type_qualifier_list`\r\n\t- [ ] `type_qualifier`\r\n\t- [ ] `type_qualifier_list`,`type_qualifier`\r\n+ `parameter_type_list`\r\n\t- [ ] `parameter_list`\r\n\t- [ ] `parameter_list`,`,`,`...`\r\n+ `parameter_list`\r\n\t- [ ] `parameter_declaration`\r\n\t- [ ] `parameter_list`,`,`,`parameter_declaration`\r\n+ `parameter_declaration`\r\n\t- [ ] `declaration_specifiers`,`declarator`\r\n\t- [ ] `declaration_specifiers`,`abstract_declarator`\r\n\t- [ ] `declaration_specifiers`\r\n+ `identifier_list`\r\n\t- [ ] `identifier`\r\n\t- [ ] `identifier_list`,`,`,`identifier`\r\n+ `type_name`\r\n\t- [ ] `specifier_qualifier_list`,`abstract_declarator`\r\n\t- [ ] `specifier_qualifier_list`\r\n+ `abstract_declarator`\r\n\t- [ ] `pointer`\r\n\t- [ ] `pointer`,`direct_abstract_declarator`\r\n\t- [ ] `direct_abstract_declarator`\r\n+ `direct_abstract_declarator`\r\n\t- [ ] `(`,`abstract_declarator`,`)`\r\n\t- [ ] `direct_abstract_declarator`,`[`,`type_qualifier_list`,`assignment_expression`,`]`\r\n\t- [ ] `direct_abstract_declarator`,`[`,`static`,`type_qualifier_list`,`assignment_expression`,`]`\r\n\t- [ ] `direct_abstract_declarator`,`[`,`type_qualifier_list`,`static`,`assignment_expression`,`]`\r\n\t- [ ] `direct_abstract_declarator`,`[`,`*`,`]`\r\n\t- [ ] `direct_abstract_declarator`,`(`,`parameter_type_list`,`)`\r\n\t- [ ] `[`,`type_qualifier_list`,`assignment_expression`,`]`\r\n\t- [ ] `direct_abstract_declarator`,`[`,`assignment_expression`,`]`\r\n\t- [ ] `direct_abstract_declarator`,`[`,`type_qualifier_list`,`]`\r\n\t- [ ] `[`,`static`,`type_qualifier_list`,`assignment_expression`,`]`\r\n\t- [ ] `direct_abstract_declarator`,`[`,`static`,`assignment_expression`,`]`\r\n\t- [ ] `[`,`type_qualifier_list`,`static`,`assignment_expression`,`]`\r\n\t- [ ] `[`,`*`,`]`\r\n\t- [ ] `(`,`parameter_type_list`,`)`\r\n\t- [ ] `direct_abstract_declarator`,`(`,`)`\r\n\t- [ ] `[`,`assignment_expression`,`]`\r\n\t- [ ] `[`,`type_qualifier_list`,`]`\r\n\t- [ ] `direct_abstract_declarator`,`[`,`]`\r\n\t- [ ] `[`,`static`,`assignment_expression`,`]`\r\n\t- [ ] `(`,`)`\r\n\t- [ ] `[`,`]`\r\n+ `typedef_name`\r\n\t- [ ] `identifier`\r\n+ `initializer`\r\n\t- [ ] `assignment_expression`\r\n\t- [ ] `{`,`initializer_list`,`}`\r\n\t- [ ] `{`,`initializer_list`,`,`,`}`\r\n+ `initializer_list`\r\n\t- [ ] `designation`,`initializer`\r\n\t- [ ] `initializer_list`,`,`,`designation`,`initializer`\r\n\t- [ ] `initializer`\r\n\t- [ ] `initializer_list`,`,`,`initializer`\r\n+ `designation`\r\n\t- [ ] `designator_list`,`=`\r\n+ `designator_list`\r\n\t- [ ] `designator`\r\n\t- [ ] `designator_list`,`designator`\r\n+ `designator`\r\n\t- [ ] `[`,`constant_expression`,`]`\r\n\t- [ ] `.`,`identifier`\r\n+ `static_assert_declaration`\r\n\t- [ ] `_Static_assert`,`(`,`constant_expression`,`,`,`string`,`)`,`;`\r\n+ `statement`\r\n\t- [ ] `labeled_statement`\r\n\t- [ ] `compound_statement`\r\n\t- [ ] `expression_statement`\r\n\t- [ ] `selection_statement`\r\n\t- [ ] `iteration_statement`\r\n\t- [ ] `jump_statement`\r\n+ `labeled_statement`\r\n\t- [ ] `identifier`,`:`,`statement`\r\n\t- [ ] `case`,`constant_expression`,`:`,`statement`\r\n\t- [ ] `default`,`:`,`statement`\r\n+ `compound_statement`\r\n\t- [ ] `{`,`block_item_list`,`}`\r\n\t- [ ] `{`,`}`\r\n+ `block_item_list`\r\n\t- [ ] `block_item`\r\n\t- [ ] `block_item_list`,`block_item`\r\n+ `block_item`\r\n\t- [ ] `declaration`\r\n\t- [ ] `statement`\r\n+ `expression_statement`\r\n\t- [ ] `expression`,`;`\r\n\t- [ ] `;`\r\n+ `selection_statement`\r\n\t- [ ] `if`,`(`,`expression`,`)`,`statement`\r\n\t- [ ] `if`,`(`,`expression`,`)`,`statement`,`else`,`statement`\r\n\t- [ ] `switch`,`(`,`expression`,`)`,`statement`\r\n+ `iteration_statement`\r\n\t- [ ] `while`,`(`,`expression`,`)`,`statement`\r\n\t- [ ] `do`,`statement`,`while`,`(`,`expression`,`)`,`;`\r\n\t- [ ] `for`,`(`,`expression`,`;`,`expression`,`;`,`expression`,`)`,`statement`\r\n\t- [ ] `for`,`(`,`declaration`,`expression`,`;`,`expression`,`)`,`statement`\r\n\t- [ ] `for`,`(`,`;`,`expression`,`;`,`expression`,`)`,`statement`\r\n\t- [ ] `for`,`(`,`expression`,`;`,`;`,`expression`,`)`,`statement`\r\n\t- [ ] `for`,`(`,`expression`,`;`,`expression`,`;`,`)`,`statement`\r\n\t- [ ] `for`,`(`,`declaration`,`;`,`expression`,`)`,`statement`\r\n\t- [ ] `for`,`(`,`declaration`,`expression`,`;`,`)`,`statement`\r\n\t- [ ] `for`,`(`,`;`,`;`,`expression`,`)`,`statement`\r\n\t- [ ] `for`,`(`,`;`,`expression`,`;`,`)`,`statement`\r\n\t- [ ] `for`,`(`,`expression`,`;`,`;`,`)`,`statement`\r\n\t- [ ] `for`,`(`,`declaration`,`;`,`)`,`statement`\r\n\t- [ ] `for`,`(`,`;`,`;`,`)`,`statement`\r\n+ `jump_statement`\r\n\t- [ ] `goto`,`identifier`,`;`\r\n\t- [ ] `continue`,`;`\r\n\t- [ ] `break`,`;`\r\n\t- [ ] `return`,`expression`,`;`\r\n\t- [ ] `return`,`;`\r\n+ `translation_unit`\r\n\t- [ ] `external_declaration`\r\n\t- [ ] `translation_unit`,`external_declaration`\r\n+ `external_declaration`\r\n\t- [ ] `function_definition`\r\n\t- [ ] `declaration`\r\n+ `function_definition`\r\n\t- [ ] `declaration_specifiers`,`declarator`,`declaration_list`,`compound_statement`\r\n\t- [ ] `declaration_specifiers`,`declarator`,`compound_statement`\r\n+ `declaration_list`\r\n\t- [ ] `declaration`\r\n\t- [ ] `declaration_list`,`declaration`"}}
{"actor":{"display_login":"LuisHsu"}}