[SoC] GSoC 2020 - Develop CQL Filter implementation for pygeoapi - Coding Period Week 6 Report

Farheen Bano farheenbano94 at gmail.com
Sun Jul 12 10:43:41 PDT 2020


Hi Everyone,

This is my report for the period (July 6 - July 12). The updated report can
also be found at the project wiki page
https://wiki.osgeo.org/wiki/GSoC_2020_Develop_CQL_Filter_implementation_for_pygeoapi.
The forked repo of the project can be found here
https://github.com/FarheenB/pygeoapi

*What I have done during this period?*

   - Made fix for queryables response and schema
   - Added no cql filter resource in config file
   - Added unit test for no cql filter resource's functionality
   - Studied how to implement a Domain Specific Language(DSL) in python
   - Read about various tools and libraries (LR Parsing, PLY and pyparsing)
   that are used for parsing DSL in python.
   - 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)
   - Read the pycql documentation which can be used as DSL for CQL Filters
   - Experimented the above with pycql codebase
   - Worked with Tokens, Lexer, Parser, YACC, LALR(1) parser and
   successfully generated a CQL filter AST with the help of pycql package.

*What am I going to achieve for next week?*

   - Write a pytest example code with pycql that validates simple filter
   expressions
   - Draw a design diagram for a CQL class that handles the input filters
   and turn them into queries for the different backend providers
   - Write unit tests for the CQL class and its methods

*Are there any blockers?*

   - No blockers for now

Regards,
Farheen Bano
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/soc/attachments/20200712/48826730/attachment-0001.html>


More information about the SoC mailing list