Page tree
Skip to end of metadata
Go to start of metadata

This project was completed as a intern opportunity with HPCC Systems in 2017. Curious about projects we are offering for future internships? Take a look at our Ideas List

Find out about the HPCC Systems Summer Internship Program.

The project proposal application period for 2020 summer internships is now open. Please see our list of Available Projects. Contact the project mentor for more information and to discuss your ideas. You may suggest a project idea of your own but it must leverage HPCC Systems in some way. Contact us for support from an HPCC Systems mentor with experience in your chosen project area.

Project Description - ECLDoc Overview 

The goal of this project is to build a Documentation Generation system for ECL, analogous to the JAVADOC system for JAVA and the pydoc system for Python.


  • Provide a facility that can be launched from a command-line or IDE that will format documentation from docstring information contained in ECL source files.
  • Ability to produce above documentation in several formats including plain text and HTML.

Success criteria

  • Provide an ecldoc executable that can:
    • Convert each of the ecl files in the ECLSamples folder to substantially match each of the corresponding text and HTML documents in the TextOut and HTMLOut folders.
    • Allows input files (ecl source files) to be specified as a single file or wildcarded path specification
    • Optionally provides a 'recursive' option that will convert all ecl files within a nested folder structure.
    • Allows the specification of the output format (text or html) and output location
  • Provide test cases and regression test code

Project details

See attached specification



Roger Dev
Contact details

Backup Mentor: John Holt
Contact Details 

Skills needed
  • Proficiency in Python or Java coding
  • Familiarity with at least one existing Documentation System
  • Ability to write test code.
  • Checked in code
  • Test cases demonstrating the correct behaviour and performance
  • Documentation
Other resources
  • No labels