diff options
author | Mike Kucera | 2008-03-07 19:03:13 +0000 |
---|---|---|
committer | Mike Kucera | 2008-03-07 19:03:13 +0000 |
commit | 934ea2e952d36d4f89a1786f4242399fa224c59e (patch) | |
tree | 8f50eb8292ff6bad3dc062121d504a575ad96fe0 /lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp | |
parent | c19a6ffad47fe772a3be345cfafc5e4ada2feabd (diff) | |
download | org.eclipse.cdt-934ea2e952d36d4f89a1786f4242399fa224c59e.tar.gz org.eclipse.cdt-934ea2e952d36d4f89a1786f4242399fa224c59e.tar.xz org.eclipse.cdt-934ea2e952d36d4f89a1786f4242399fa224c59e.zip |
fix for parsing destructor name, fix for reinterpret_cast
Diffstat (limited to 'lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp')
-rw-r--r-- | lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g index f42ac1884d6..579f8f813d6 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g +++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g @@ -535,14 +535,19 @@ postfix_expression -- instead of pseudo_destructor_name. But the difference is I have different -- token types, so maybe I do need this rule. pseudo_destructor_name - ::= dcolon_opt nested_name_specifier_opt type_name '::' '~' type_name + ::= dcolon_opt nested_name_specifier_opt type_name '::' destructor_type_name /. $Build consumePsudoDestructorName(true); $EndBuild ./ - | dcolon_opt nested_name_specifier 'template' template_id_name '::' '~' type_name + | dcolon_opt nested_name_specifier 'template' template_id_name '::' destructor_type_name /. $Build consumePsudoDestructorName(true); $EndBuild ./ - | dcolon_opt nested_name_specifier_opt '~' type_name + | dcolon_opt nested_name_specifier_opt destructor_type_name /. $Build consumePsudoDestructorName(false); $EndBuild ./ +destructor_type_name + ::= '~' type_name + /. $Build consumeDestructorName(); $EndBuild ./ + + unary_expression ::= postfix_expression | new_expression @@ -1076,7 +1081,7 @@ simple_type_specifier_token -- last two rules moved here from simple_type_specifier type_name -- all identifiers of some kind ::= class_name - | enum_name -- identifier + | enum_name | typedef_name |