diff options
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/Slice/Grammar.y | 3 | ||||
-rw-r--r-- | cpp/src/Slice/GrammarUtil.h | 2 | ||||
-rw-r--r-- | cpp/src/Slice/Scanner.l | 7 |
3 files changed, 10 insertions, 2 deletions
diff --git a/cpp/src/Slice/Grammar.y b/cpp/src/Slice/Grammar.y index 61ba0a3f21d..a174999bff9 100644 --- a/cpp/src/Slice/Grammar.y +++ b/cpp/src/Slice/Grammar.y @@ -794,6 +794,9 @@ exception_list exception // ---------------------------------------------------------------------- /* TODO: builtin exceptions "Exception" and "LocalException"*/ +// ML: Not sure if these should be treated as builtin by the +// parser. They have no meaning in a Slice definition, so why make +// them builtin, if they cannot be used anywhere in Slice? : scoped_name { StringTokPtr scoped = StringTokPtr::dynamicCast($1); diff --git a/cpp/src/Slice/GrammarUtil.h b/cpp/src/Slice/GrammarUtil.h index 6e70b9f2eeb..889ad02d797 100644 --- a/cpp/src/Slice/GrammarUtil.h +++ b/cpp/src/Slice/GrammarUtil.h @@ -23,7 +23,7 @@ namespace Slice // struct CICompare : public std::binary_function<std::string, std::string, bool> { - // TODO: ML: Make non-inline. + // TODO: ML: Make non-inline. (Not necessary if moved to Scanner.l) bool operator()(const std::string& s1, const std::string& s2) const { std::string::const_iterator p1 = s1.begin(); diff --git a/cpp/src/Slice/Scanner.l b/cpp/src/Slice/Scanner.l index 46879c2841a..41ef43b0f6f 100644 --- a/cpp/src/Slice/Scanner.l +++ b/cpp/src/Slice/Scanner.l @@ -16,7 +16,8 @@ using namespace std; using namespace Slice; -#define YY_USER_INIT initialize(); +#define YY_USER_INIT initialize(); + %} %option noyywrap @@ -115,6 +116,7 @@ using namespace Slice; { if(pos->first != ident->v) { +// TODO: ML: Indentation. string msg; msg = "illegal identifier: `" + ident->v + "' differs from keyword `"; msg += pos->first + "' only in capitalization"; @@ -248,6 +250,7 @@ using namespace Slice; %% +// TODO: ML: Coding conventions. namespace Slice { stringTokenMap keywordMap; @@ -255,6 +258,7 @@ stringTokenMap keywordMap; void initialize() { +// TODO: ML: Indentation is 4 char positions, not 8. keywordMap["module"] = ICE_MODULE; keywordMap["class"] = ICE_CLASS; keywordMap["interface"] = ICE_INTERFACE; @@ -280,4 +284,5 @@ initialize() keywordMap["LocalObject"] = ICE_LOCAL_OBJECT; keywordMap["local"] = ICE_LOCAL; } + } |