From d99739839b5dc6daf3b56b5c6174fa7983b3d39f Mon Sep 17 00:00:00 2001 From: Mike Kucera Date: Wed, 15 Apr 2009 19:24:57 +0000 Subject: [PATCH] [272375] support for UTF string literals in LR parser --- .../META-INF/MANIFEST.MF | 1 + .../grammar/build.xml | 33 +--------- .../grammar/generate.xml | 64 +++++++++++++++++++ .../dom/lrparser/c99/DOMToC99TokenMap.java | 4 ++ .../dom/lrparser/cpp/DOMToISOCPPTokenMap.java | 4 ++ .../dom/lrparser/gnu/DOMToGCCTokenMap.java | 4 ++ .../dom/lrparser/gnu/DOMToGPPTokenMap.java | 4 ++ .../grammar/build.xml | 32 +--------- .../core/dom/parser/upc/DOMToUPCTokenMap.java | 4 ++ .../eclipse/cdt/core/dom/upc/UPCLanguage.java | 9 --- 10 files changed, 90 insertions(+), 69 deletions(-) create mode 100644 lrparser/org.eclipse.cdt.core.lrparser/grammar/generate.xml diff --git a/lrparser/org.eclipse.cdt.core.lrparser/META-INF/MANIFEST.MF b/lrparser/org.eclipse.cdt.core.lrparser/META-INF/MANIFEST.MF index 403832ca95b..0f1f07b721f 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/META-INF/MANIFEST.MF +++ b/lrparser/org.eclipse.cdt.core.lrparser/META-INF/MANIFEST.MF @@ -12,6 +12,7 @@ Export-Package: org.eclipse.cdt.core.dom.lrparser, org.eclipse.cdt.core.dom.lrparser.action, org.eclipse.cdt.core.dom.lrparser.action.c99, org.eclipse.cdt.core.dom.lrparser.action.cpp, + org.eclipse.cdt.core.dom.lrparser.action.gnu, org.eclipse.cdt.core.dom.lrparser.c99, org.eclipse.cdt.core.dom.lrparser.cpp, org.eclipse.cdt.core.dom.lrparser.gnu, diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/build.xml b/lrparser/org.eclipse.cdt.core.lrparser/grammar/build.xml index f1a71b9c8de..2dfb0d5191b 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/build.xml +++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/build.xml @@ -12,17 +12,8 @@ Generates LPG parsers from grammar files - - - Property $${lpg_exe} not set. - This property must be set to the full path to the LPG generator executable. - - - - Property $${lpg_template} not set. - This property must be set to the full path to the LPG templates folder. - - + + @@ -148,24 +139,6 @@ - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/generate.xml b/lrparser/org.eclipse.cdt.core.lrparser/grammar/generate.xml new file mode 100644 index 00000000000..6241db95945 --- /dev/null +++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/generate.xml @@ -0,0 +1,64 @@ + + + + + + + + Property $${lpg_exe} not set. + This property must be set to the full path to the LPG generator executable. + + + + Property $${lpg_template} not set. + This property must be set to the full path to the LPG templates folder. + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/c99/DOMToC99TokenMap.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/c99/DOMToC99TokenMap.java index f6b679a14a1..e5ec6bf4d94 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/c99/DOMToC99TokenMap.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/c99/DOMToC99TokenMap.java @@ -127,8 +127,12 @@ public final class DOMToC99TokenMap implements IDOMTokenMap { case tFLOATINGPT : return TK_floating; case tSTRING : return TK_stringlit; case tLSTRING : return TK_stringlit; + case tUTF16STRING : return TK_stringlit; + case tUTF32STRING : return TK_stringlit; case tCHAR : return TK_charconst; case tLCHAR : return TK_charconst; + case tUTF16CHAR : return TK_charconst; + case tUTF32CHAR : return TK_charconst; case t__Bool : return TK__Bool; case t__Complex : return TK__Complex; case t__Imaginary : return TK__Imaginary; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/cpp/DOMToISOCPPTokenMap.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/cpp/DOMToISOCPPTokenMap.java index a937207c53d..19cc66af087 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/cpp/DOMToISOCPPTokenMap.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/cpp/DOMToISOCPPTokenMap.java @@ -162,8 +162,12 @@ public class DOMToISOCPPTokenMap implements IDOMTokenMap { case tFLOATINGPT : return TK_floating; case tSTRING : return TK_stringlit; case tLSTRING : return TK_stringlit; + case tUTF16STRING : return TK_stringlit; + case tUTF32STRING : return TK_stringlit; case tCHAR : return TK_charconst; case tLCHAR : return TK_charconst; + case tUTF16CHAR : return TK_charconst; + case tUTF32CHAR : return TK_charconst; case tCOMPLETION : return TK_Completion; case tEOC : return TK_EndOfCompletion; case tEND_OF_INPUT : return TK_EOF_TOKEN; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/DOMToGCCTokenMap.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/DOMToGCCTokenMap.java index 41832355ad4..335b0e5d9b1 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/DOMToGCCTokenMap.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/DOMToGCCTokenMap.java @@ -128,8 +128,12 @@ public final class DOMToGCCTokenMap implements IDOMTokenMap { case tFLOATINGPT : return TK_floating; case tSTRING : return TK_stringlit; case tLSTRING : return TK_stringlit; + case tUTF16STRING : return TK_stringlit; + case tUTF32STRING : return TK_stringlit; case tCHAR : return TK_charconst; case tLCHAR : return TK_charconst; + case tUTF16CHAR : return TK_charconst; + case tUTF32CHAR : return TK_charconst; case t__Bool : return TK__Bool; case t__Complex : return TK__Complex; case t__Imaginary : return TK__Imaginary; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/DOMToGPPTokenMap.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/DOMToGPPTokenMap.java index 7e64aed9399..8ceea4f9966 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/DOMToGPPTokenMap.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/DOMToGPPTokenMap.java @@ -163,6 +163,10 @@ public class DOMToGPPTokenMap implements IDOMTokenMap { case tFLOATINGPT : return TK_floating; case tSTRING : return TK_stringlit; case tLSTRING : return TK_stringlit; + case tUTF16STRING : return TK_stringlit; + case tUTF32STRING : return TK_stringlit; + case tUTF16CHAR : return TK_charconst; + case tUTF32CHAR : return TK_charconst; case tCHAR : return TK_charconst; case tLCHAR : return TK_charconst; case tCOMPLETION : return TK_Completion; diff --git a/upc/org.eclipse.cdt.core.parser.upc/grammar/build.xml b/upc/org.eclipse.cdt.core.parser.upc/grammar/build.xml index fb3fb979f0b..14946c96cc2 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/grammar/build.xml +++ b/upc/org.eclipse.cdt.core.parser.upc/grammar/build.xml @@ -1,5 +1,5 @@