closes #74727: allow entity types to end with a capitalized letter provided they contain a lower-cased letter
--- a/ChangeLog Fri Aug 05 14:19:18 2011 +0200
+++ b/ChangeLog Wed Sep 07 09:05:10 2011 +0200
@@ -1,22 +1,24 @@
ChangeLog for RQL
=================
+--
+ * #74727: allow entity types to end with a capitalized letter provided they contain a lower-cased letter
2011-08-05 -- 0.30.0
* #72295: add some missing operators:
- * % (modulo),
+ - % (modulo),
- * ^ (power),
+ - ^ (power),
- * & (bitwise AND),
+ - & (bitwise AND),
- * | (bitwise OR),
+ - | (bitwise OR),
- * # (bitwise XOR),
+ - # (bitwise XOR),
- * << (bitwise left shift),
+ - << (bitwise left shift),
- * >> (bitwise right shift)
+ - >> (bitwise right shift)
* #72052: new optional 'optcomparisons' key in variable stinfo, containing
HAVING comparison nodes where it's used and optional (eg outer
--- a/parser.g Fri Aug 05 14:19:18 2011 +0200
+++ b/parser.g Wed Sep 07 09:05:10 2011 +0200
@@ -95,7 +95,7 @@
token UNARY_OP: r'-|~'
token FUNCTION: r'[A-Za-z_]+\s*(?=\()'
token R_TYPE: r'[a-z_][a-z0-9_]*'
- token E_TYPE: r'[A-Z][A-Za-z0-9]*[a-z]+[0-9]*'
+ token E_TYPE: r'[A-Z][A-Za-z0-9]*[a-z]+[A-Z0-9]*'
token VARIABLE: r'[A-Z][A-Z0-9_]*'
token COLALIAS: r'[A-Z][A-Z0-9_]*\.\d+'
token QMARK: r'\?'
--- a/parser.py Fri Aug 05 14:19:18 2011 +0200
+++ b/parser.py Wed Sep 07 09:05:10 2011 +0200
@@ -102,7 +102,7 @@
('UNARY_OP', re.compile('-|~')),
('FUNCTION', re.compile('[A-Za-z_]+\\s*(?=\\()')),
('R_TYPE', re.compile('[a-z_][a-z0-9_]*')),
- ('E_TYPE', re.compile('[A-Z][A-Za-z0-9]*[a-z]+[0-9]*')),
+ ('E_TYPE', re.compile('[A-Z][A-Za-z0-9]*[a-z]+[A-Z0-9]*')),
('VARIABLE', re.compile('[A-Z][A-Z0-9_]*')),
('COLALIAS', re.compile('[A-Z][A-Z0-9_]*\\.\\d+')),
('QMARK', re.compile('\\?')),