Skip to main content

Extensible code style checker currently supporting Fortran, PSyclone DSL, etc

Project description

Stylist

The immediate need was for a code style checking tool which understood Fortran. Such things being quite thin on the ground. However very few large software projects are implemented in a single language. Thus a tool was developed which provided a framework to aid in delivering support for multiple languages and multiple style choices.

The framework supports multiple styles, each consisting of multiple rules. Each of these may be one of two types, those which treat the source as a text file and those which treat it as a parse tree.

The project is still in its infancy so only a few rules have been implemented and only for fortran.

Design

In the past we have used text based tools and there's a surprising amount you can do with regular expressions. However once context becomes important they can become a liability. In those cases it is much better to have the parse tree.

At the moment the tool is only able to flag up where a style rule has been broken. For some things this is the best we can hope for but for others we might aspire to correct the problem.

For instance the current check for missing implicit none statements might, in the future, insert them where they are missing.

Some UML class diagrams have been prepared which may be found in the documentation directory. These make use of the PlantUML tool to render.

Project details


Release history Release notifications

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for stylist, version 0.1
Filename, size File type Python version Upload date Hashes
Filename, size stylist-0.1-py3-none-any.whl (14.7 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size stylist-0.1.tar.gz (15.4 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page