[Checkins] SVN: Sandbox/adamg/ocql/trunk/src/ocql/ extend path of a method call
Charith Paranaliyanage
paranaliyanage at gmail.com
Tue Aug 19 05:34:47 EDT 2008
Log message for revision 89999:
extend path of a method call
Changed:
U Sandbox/adamg/ocql/trunk/src/ocql/parser/parser.txt
U Sandbox/adamg/ocql/trunk/src/ocql/parser/queryparser.py
U Sandbox/adamg/ocql/trunk/src/ocql/rewriter/rewriter.txt
-=-
Modified: Sandbox/adamg/ocql/trunk/src/ocql/parser/parser.txt
===================================================================
--- Sandbox/adamg/ocql/trunk/src/ocql/parser/parser.txt 2008-08-19 08:47:25 UTC (rev 89998)
+++ Sandbox/adamg/ocql/trunk/src/ocql/parser/parser.txt 2008-08-19 09:34:46 UTC (rev 89999)
@@ -71,6 +71,7 @@
>>> QueryParser("set [ c in ICourse; a as c.name; a=='C1' | c]")(None)
Query(<type 'set'>, In(Identifier(c), Identifier(ICourse)); Alias(Identifier(a), Property(Identifier(c), Identifier(name))); Eq(Identifier(a), Constant('C1')), Identifier(c))
- >>> qo = QueryParser("set [ s in IStudents; a as s.major; a=='test' | s ]")(None)
- Query(<type 'set'>, In(Identifier(s), Identifier(IStudents)); Alias(Identifier(a), Property(Identifier(s), Identifier(major))); Eq(Identifier(a), Constant('test')), Identifier(s))
-
\ No newline at end of file
+ >>> QueryParser("set [ s in IStudents; a as s.major.address.street; a=='Hillhead Street' or a=='Gibson Street' | s ]")(None)
+ Query(<type 'set'>, In(Identifier(s), Identifier(IStudents));
+ Alias(Identifier(a), Property(Identifier(s), Property(Identifier(major), Property(Identifier(address), Identifier(street)))));
+ Or(Eq(Identifier(a), Constant('Hillhead Street')), Eq(Identifier(a), Constant('Gibson Street'))), Identifier(s))
Modified: Sandbox/adamg/ocql/trunk/src/ocql/parser/queryparser.py
===================================================================
--- Sandbox/adamg/ocql/trunk/src/ocql/parser/queryparser.py 2008-08-19 08:47:25 UTC (rev 89998)
+++ Sandbox/adamg/ocql/trunk/src/ocql/parser/queryparser.py 2008-08-19 09:34:46 UTC (rev 89999)
@@ -571,6 +571,12 @@
if DEBUG: print 'reducing "IDENTIFIER" to "path"', t[0]
def p_path_method(self, t):
+ r'''method : IDENTIFIER DOT method
+ '''
+ t[0] = Property(self.metadata, self.symbols, Identifier(self.metadata, self.symbols, t[1]), t[3])
+ if DEBUG: print 'reducing "IDENTIFIER DOT method" to "path"', t[0]
+
+ def p_path_method2(self, t):
r'''path : IDENTIFIER DOT method
'''
t[0] = Property(self.metadata, self.symbols, Identifier(self.metadata, self.symbols, t[1]), t[3])
Modified: Sandbox/adamg/ocql/trunk/src/ocql/rewriter/rewriter.txt
===================================================================
--- Sandbox/adamg/ocql/trunk/src/ocql/rewriter/rewriter.txt 2008-08-19 08:47:25 UTC (rev 89998)
+++ Sandbox/adamg/ocql/trunk/src/ocql/rewriter/rewriter.txt 2008-08-19 09:34:46 UTC (rev 89999)
@@ -111,7 +111,7 @@
>>> print str(alg)
Head(Iter(<type 'set'>, Lambda c: Iter(<type 'set'>, Lambda a: Single(<type 'set'>, a), Single(<type 'set'>, c.code)), Make(<type 'set'>, <type 'set'>, ICourse)))
- >>> qo = QueryParser('set [ s in IStudents; a as s.major.address.street; a=="Hillhead Street" or a=="Gibson Street" | s ]')(TestMetadata())
+ >>> qo = QueryParser("set [ s in IStudents; a as s.major.address.street; a=='Hillhead Street' or a=='Gibson Street' | s ]")(TestMetadata())
>>> opt = QueryOptimizer(qo)()
>>> alg = Rewriter(opt)()
>>> print str(alg)
More information about the Checkins
mailing list