<div dir="ltr"><div dir="ltr"><span style="font-size:13.33px;font-variant-numeric:normal;font-variant-east-asian:normal">Hi Everyone,</span></div><div dir="ltr" style="font-variant-numeric:normal;font-variant-east-asian:normal;font-size:13.33px"><br>This is my report for the period (July 6 - July 12). The updated report can also be found at the project wiki page <a href="https://wiki.osgeo.org/wiki/GSoC_2020_Develop_CQL_Filter_implementation_for_pygeoapi" target="_blank">https://wiki.osgeo.org/wiki/GSoC_2020_Develop_CQL_Filter_implementation_for_pygeoapi</a>. The forked repo of the project can be found here <a href="https://github.com/FarheenB/pygeoapi" target="_blank">https://github.com/FarheenB/pygeoapi</a></div><div dir="ltr" style="font-variant-numeric:normal;font-variant-east-asian:normal;font-size:13.33px"><b style="font-family:sans-serif;font-size:14px"><br></b></div><div dir="ltr" style="font-variant-numeric:normal;font-variant-east-asian:normal;font-size:13.33px"><b style="font-family:sans-serif;font-size:14px">What I have done during this period?</b></div><div dir="ltr" style="font-variant-numeric:normal;font-variant-east-asian:normal;font-size:13.33px"><ul><li><span style="font-family:sans-serif;font-size:14px">Made fix for queryables response and schema</span></li><li><span style="font-family:sans-serif;font-size:14px">Added no cql filter resource in config file</span></li><li><span style="font-family:sans-serif;font-size:14px">Added unit test for no cql filter resource's functionality</span></li><li><span style="font-family:sans-serif;font-size:14px">Studied how to implement a Domain Specific Language(DSL) in python</span></li><li><span style="font-family:sans-serif;font-size:14px">Read about various tools and libraries (LR Parsing, PLY and pyparsing) that are used for parsing DSL in python.</span></li><li><span style="font-family:sans-serif;font-size:14px">Learnt about Lexical Analysis, Regular Expressions, Token Generation, Context Free Grammar, Syntactical Analysis, importance of Precedence and Associativity of the operators in an expression, Shift Reduce parser, computation for Ambiguous Grammars like resolving reduce/reduce conflict or shift/reduce conflict in parser, grammar validation, extensive error checking and creation and evaluation of Abstract Syntax Tree(AST)</span></li><li><span style="font-family:sans-serif;font-size:14px">Read the </span>pycql<span style="font-family:sans-serif;font-size:14px"> documentation which can be used as DSL for CQL Filters</span></li><li><span style="font-family:sans-serif;font-size:14px">Experimented the above with pycql codebase</span></li><li><span style="font-family:sans-serif;font-size:14px">Worked with Tokens, Lexer, Parser, YACC, LALR(1) parser and successfully generated a CQL filter AST with the help of </span>pycql<span style="font-family:sans-serif;font-size:14px"> package.</span></li></ul><b style="font-family:sans-serif;font-size:14px">What am I going to achieve for next week?</b><span style="font-family:sans-serif;font-size:14px"><br><ul style=""><li style=""><span style="font-family:sans-serif;font-size:14px">Write a pytest example code with pycql that validates simple filter expressions</span></li><li style=""><span style="font-family:sans-serif;font-size:14px">Draw a design diagram for a CQL class that handles the input filters and turn them into queries for the different backend providers</span></li><li style=""><span style="font-family:sans-serif;font-size:14px">Write unit tests for the CQL class and its methods</span></li></ul></span><b style="font-family:sans-serif;font-size:14px">Are there any blockers?</b><span style="font-family:sans-serif;font-size:14px"><br><ul style=""><li style=""><span style="font-family:sans-serif;font-size:14px">No blockers for now</span></li></ul><div><span style="font-family:Arial,Helvetica,sans-serif;font-variant-numeric:normal;font-variant-east-asian:normal;font-size:13.33px">Regards,</span><br style="font-family:Arial,Helvetica,sans-serif;font-variant-numeric:normal;font-variant-east-asian:normal;font-size:13.33px"><span style="font-family:Arial,Helvetica,sans-serif;font-variant-numeric:normal;font-variant-east-asian:normal;font-size:13.33px">Farheen Bano</span> <br></div><div><br></div></span></div></div>