Posts

Showing posts from June, 2017

Fourth Week

In fourth week, we achieved following goals : Table of contents were generated for each directory in input root. If directory, was a bundle, the bundle.ecl file was parsed to obtain bundle information. The bundle information was generated using ecl bundle info command. The bundle info was generated in XML format. from text output. XML Bundle info was converted to HTML format. License File was linked to external page. Docstring was parsed to obtain first line of documentation. First Documentation of top level attribute in each file was appended to its table of contents entry.

Third Week

In third week, we achieved following goals : Basic Structure for HTML Documentation. XML Doc was read to get appropriate information for HTML We use Jinja2 library in Python to generate HTML doc from XML. Use Bootstrap and jquery for CSS and JS. The documentation in HTML was divided into 3 regions : IMPORTS sections : here we link to imports in ecl file. Definition Tree : In this section, we simply show the hierarchical structure of ecl code in form of an nested collapsible list. Descriptions : here we show each attribute with their documentation. Definition Tree was linked with description and vice-versa

Second Week

In second week, we achieved following functionality : Basic structure of ecldoc utility was generated in python. Python utility uses a configuration file as input that specifies : Input root of documentation - where we start processing the files Glob patterns wrt to input root for files to be processed. Output root - where output documentation will be stored. format of documentation required. Glob pattern were parsed using glob utility in python 3. LXML lib was used for processing XML in python 3. XML documentation was generated for each files matched by glob pattern. To gen XML documentation, first we run ecldoc using subprocess in python to obtain original xml output from ecldoc -M Then we use LXML to parse this XMLOriginal to generate new XML. New XML contains : Signature of each attribute by reading corresponding source code . Documentation parser was rewritten in python.

First Week

In first week, we completed following topics : Modification in HPCC Platform source code to implement : Function like objects Meta information Inheritance Information Information about whether the object is inherited or overriden. These Modification were used to identify the necessary information for documentation. Basic Type System Information was developed (but put on shelf for now). Meta Tree was linked with source code to identify the attribute signature. Imports were linked with appropriate file. Attribute fullnames were appended to find actual source (internal or external).