瀏覽代碼

Merge pull request #3102 from richardkchapman/dictionary-warning

gh-3101 Give warning when DICTIONARY used as an identifier

Reviewed-by: Gavin Halliday <ghalliday@hpccsystems.com>
Gavin Halliday 13 年之前
父節點
當前提交
7df79132f5
共有 2 個文件被更改,包括 6 次插入0 次删除
  1. 1 0
      ecl/hql/hqlerrors.hpp
  2. 5 0
      ecl/hql/hqllex.l

+ 1 - 0
ecl/hql/hqlerrors.hpp

@@ -73,6 +73,7 @@
 #define WRN_FILENAMEIGNORED         1047
 #define WRN_FILENAMEIGNORED         1047
 #define WRN_EXPORT_IGNORED          1048
 #define WRN_EXPORT_IGNORED          1048
 #define WRN_RECORDMANYFIELDS        1049
 #define WRN_RECORDMANYFIELDS        1049
+#define WRN_RESERVED_FUTURE         1050 /* Identifier likely to be reserved in future versions */
 //#define ECL_WARN_END          1100
 //#define ECL_WARN_END          1100
 
 
 ///////////////////////////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////////////////////////

+ 5 - 0
ecl/hql/hqllex.l

@@ -659,6 +659,11 @@ DENORMALIZE         { RETURNSYM(DENORMALIZE); }
 DEPRECATED          { RETURNSYM(DEPRECATED); }
 DEPRECATED          { RETURNSYM(DEPRECATED); }
 DESC                { RETURNSYM(DESC); }
 DESC                { RETURNSYM(DESC); }
 DESCEND             { RETURNSYM(DESC); }
 DESCEND             { RETURNSYM(DESC); }
+DICTIONARY          {
+                        lexer->reportWarning(returnToken, WRN_RESERVED_FUTURE, "%s", "DICTIONARY will be a reserved word from release 3.10");
+                        setupdatepos;
+                        return lookupIdentifierToken(returnToken, lexer, lookup, activeState, CUR_TOKEN_TEXT);
+                    }
 DISTRIBUTE          { RETURNSYM(DISTRIBUTE); }
 DISTRIBUTE          { RETURNSYM(DISTRIBUTE); }
 DISTRIBUTED         { RETURNSYM(DISTRIBUTED); }
 DISTRIBUTED         { RETURNSYM(DISTRIBUTED); }
 DISTRIBUTION        { RETURNSYM(DISTRIBUTION); }
 DISTRIBUTION        { RETURNSYM(DISTRIBUTION); }