Project - take 4-5million lines of SQR code and port over to Python - building a tool to translate source code
Writing a translator (up and working) to read SQL and write Python code
Have runtime to Python infrastructure
Need - Python experience
This is doing language work, not designing a website or app
Write PyTest - doing automated testing
Testing in Azure - using virtual machines
SQR - they reverse engineer it to understand the logic behind it (this is not a must have - someone can pick this side up QUICK)
Project
The SQR to Python Translator project is writing software that will read DNA batch jobs, written in the SQR programming language, and translate them to Python. The resulting Python code when run will generate output that exactly matches the output of the original DNA batch job SQR source code.
The SQR to Python Translator is itself written in Python. The tokenizer and parser Python code for the Translator are generated from a project defined SQR grammar using the ANTLR4 parser generator. The parser outputs an Abstract Syntax Tree (AST) for the input SQR code. Our translator code reads the SQR AST and programmatically translates it to a Python AST. We input the Python AST into the open source astor module and have it generate Python source code.
Assignment
Reporting to the project Architect, perform the following types of tasks to help complete development of the SQR to Python Translator:
Reverse engineer an SQR command capability and modify the corresponding ANTLR4 grammar definition file to represent the capability.
Write a Python script to determine usage of a particular SQR command or feature in the DNA batch job code base.
Write or modify automated tests using the Python unittest and pytest modules for an SQR command.
Write or modify Python code that performs translation of a SQR AST to a Python AST.
Write or modify automated tests using the Python unittest and pytest modules that compare the output of the SQR and Python variants of a DNA batch job.
Skills
Candidates should possess many of the skills listed below and the desire to acquire all of them:
SQR programming
Oracle SQL and PL/SQL programming
Python 3 programming
Regular Expression usage experience
Experience writing or modifying EBNF grammars
Experience with parser programming and a parser generator toolkit like ANTLR4
Experience writing automated tests, ideally using the Python unittest and pytest modules
Experience with TFS and git
Experience with Visual Studio and Visual Studio Code
Experience using the Azure cloud
Ability to work at a different site and possibly in a different time zone than the project Architect
Experis/ManpowerGroup has partnered with a leading Financial Services organization in the Charlotte Area for a contract Hadoop Developer to assist their team. Will be onsite but could start Hybrid.