From 997c78b8c2911a3787d9ca9b4b10e587cb8cbb2d Mon Sep 17 00:00:00 2001 From: Michi Henning Date: Thu, 25 Jul 2002 23:09:48 +0000 Subject: Changed Slice parser to disallow leading underscore for identifiers. Changed Slice parser to reject identifiers beginning with "Ice", unless the --ice option is used. Changed Slice parser to disallow identifiers that have a trailing "Operations", "Holder", "Helper", "Prx", or "Ptr", to avoid clashes with language mappings. Fixed tests and remaining code base to work correctly with the changed rules. --- cpp/src/slice2java/Main.cpp | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) (limited to 'cpp/src/slice2java/Main.cpp') diff --git a/cpp/src/slice2java/Main.cpp b/cpp/src/slice2java/Main.cpp index 0d01dd27769..fd39fe0d277 100644 --- a/cpp/src/slice2java/Main.cpp +++ b/cpp/src/slice2java/Main.cpp @@ -32,8 +32,8 @@ usage(const char* n) "--impl Generate sample implementations.\n" "--impl-tie Generate sample TIE implementations.\n" "--clone Generate clone().\n" - "--ice TBD.\n" "-d, --debug Print debug messages.\n" + "--ice Permit `Ice' prefix (for building Ice source code only)\n" ; } @@ -49,6 +49,7 @@ main(int argc, char* argv[]) bool implTie = false; bool clone = false; bool debug = false; + bool ice = false; int idx = 1; while(idx < argc) @@ -104,6 +105,15 @@ main(int argc, char* argv[]) } --argc; } + else if(strcmp(argv[idx], "--ice") == 0) + { + ice = true; + for(int i = idx ; i + 1 < argc ; ++i) + { + argv[i] = argv[i + 1]; + } + --argc; + } else if(strcmp(argv[idx], "--output-dir") == 0) { if(idx + 1 >= argc) @@ -174,15 +184,6 @@ main(int argc, char* argv[]) } --argc; } - else if(strcmp(argv[idx], "--ice") == 0) - { - // TBD - for(int i = idx ; i + 1 < argc ; ++i) - { - argv[i] = argv[i + 1]; - } - --argc; - } else if(argv[idx][0] == '-') { cerr << argv[0] << ": unknown option `" << argv[idx] << "'" @@ -251,7 +252,7 @@ main(int argc, char* argv[]) return EXIT_FAILURE; } - UnitPtr unit = Unit::createUnit(false, false); + UnitPtr unit = Unit::createUnit(false, false, ice); int parseStatus = unit->parse(cppHandle, debug); #ifdef _WIN32 -- cgit v1.2.3