From 318719fc9a29786e790e98b4796cad5904158250 Mon Sep 17 00:00:00 2001 From: Patrick Lehmann Date: Fri, 27 Dec 2019 22:40:30 +0100 Subject: [PATCH] Updated shields in README and added introduction to the RTD documentation. --- README.md | 76 ++++++++++++++++++++++++++++++++++----------------- doc/index.rst | 55 ++++++++++++++++++++++++++++++++++--- setup.py | 5 ++-- 3 files changed, 105 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index f2c67d539..5eb191fa0 100644 --- a/README.md +++ b/README.md @@ -1,40 +1,66 @@ -![PyPI - License](https://img.shields.io/pypi/l/pyVHDLParser) -![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/Paebbels/pyVHDLParser) -![GitHub release (latest by date)](https://img.shields.io/github/v/release/Paebbels/pyVHDLParser) -[![Documentation Status](https://readthedocs.org/projects/pyvhdlparser/badge/?version=latest)](https://pyVHDLParser.readthedocs.io/en/latest/?badge=latest) -[![PyPI](https://img.shields.io/pypi/v/pyVHDLParser)](https://pypi.org/project/pyVHDLParser/) -![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pyVHDLParser) -![PyPI - Wheel](https://img.shields.io/pypi/wheel/pyVHDLParser) -![PyPI - Status](https://img.shields.io/pypi/status/pyVHDLParser) - - +[![PyPI - License](https://img.shields.io/pypi/l/pyVHDLParser?logo=PyPI)](LICENSE.md) +[![GitHub tag (latest SemVer incl. pre-release)](https://img.shields.io/github/v/tag/Paebbels/pyVHDLParser?logo=GitHub&include_prereleases)](https://github.com/Paebbels/pyVHDLParser/tags) +[![GitHub release (latest SemVer incl. including pre-releases)](https://img.shields.io/github/v/release/Paebbels/pyVHDLParser?logo=GitHub&include_prereleases)](https://github.com/Paebbels/pyVHDLParser/releases/latest) +[![GitHub release date](https://img.shields.io/github/release-date/Paebbels/pyVHDLParser?logo=GitHub&)](https://github.com/Paebbels/pyVHDLParser/releases) +[![Libraries.io status for latest release](https://img.shields.io/librariesio/release/pypi/pyVHDLParser)](https://libraries.io/github/Paebbels/pyVHDLParser) +[![Requires.io](https://img.shields.io/requires/github/Paebbels/pyVHDLParser)](https://requires.io/github/Paebbels/pyVHDLParser/requirements/?branch=master) +[![Travis](https://img.shields.io/travis/com/Paebbels/pyVHDLParser?logo=Travis)](https://travis-ci.com/Paebbels/pyVHDLParser) +[![PyPI](https://img.shields.io/pypi/v/pyVHDLParser?logo=PyPI)](https://pypi.org/project/pyVHDLParser/) +![PyPI - Status](https://img.shields.io/pypi/status/pyVHDLParser?logo=PyPI) +![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pyVHDLParser?logo=PyPI) +[![Dependent repos (via libraries.io)](https://img.shields.io/librariesio/dependent-repos/pypi/pyVHDLParser)](https://github.com/Paebbels/pyVHDLParser/network/dependents) +[![Codacy Badge](https://api.codacy.com/project/badge/Grade/1155f244b6f54a3a95abdaa80d6771f8)](https://www.codacy.com/manual/Paebbels/pyVHDLParser) +[![Libraries.io SourceRank](https://img.shields.io/librariesio/sourcerank/pypi/pyVHDLParser)](https://libraries.io/github/Paebbels/pyVHDLParser/sourcerank) +[![Read the Docs](https://img.shields.io/readthedocs/pyvhdlparser)](https://pyVHDLParser.readthedocs.io/en/latest/) # pyVHDLParser This is a token-stream based parser for VHDL-2008. -Main goals: - * slice an input document into text blocks which are categorized - * group text blocks for fast-forward scanning - * provide a generic VHDL language model +## Intruduction -Use cases: - * generate documentation by using the fast-forward scanner - * generate a document/language model by using the grouped text-block scanner - * extract compile orders and other dependency graphs - * generate highlighted syntax - * re-annotate documenting comments to their objects for doc extraction +### Main Goals -Long time goals: - * A Sphinx language plugin for VHDL +* **Parsing** + * slice an input document into **tokens** and text **blocks** which are categorized + * preserve case, whitespace and comments + * recover on parsing errors + * good error reporting / throw exceptions +* **Fast Processing** + * multi-pass parsing and analysis + * delay analysis if not needed at current pass + * link tokens and blocks for fast-forward scanning +* **Generic VHDL Language Model** + * Assemble a document-object-model (Code-DOM) + * Provide an API for code introspection + +### Use Cases + +* generate documentation by using the fast-forward scanner +* generate a document/language model by using the grouped text-block scanner +* extract compile orders and other dependency graphs +* generate highlighted syntax +* re-annotate documenting comments to their objects for doc extraction + +### Parsing approach + +1. slice an input document into **tokens** +2. assemble tokens to text **blocks** which are categorized +3. assemble text blocks for fast-forward scanning into **groups** +4. translate groups into a document-object-model (DOM) +5. provide a generic VHDL language model + +### Long time goals + +* A Sphinx language plugin for VHDL + + TODO: Move the following documentation to ReadTheDocs and replace it with a more lightweight version. ## Basic Concept [![][concept]][concept] -[concept]: https://raw.githubusercontent.com/Paebbels/pyVHDLParser/master/docs/images/Linking_TokenBlockGroup.png +[concept]: https://raw.githubusercontent.com/Paebbels/pyVHDLParser/master/doc/images/Linking_TokenBlockGroup.png ## Example 1 diff --git a/doc/index.rst b/doc/index.rst index a79c1f433..0950cd477 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -49,12 +49,59 @@ The pyVHDLParser Documentation ############################## -pyVHDLParser is a streaming parser for VHDL to extract the documentation. +This is a token-stream based parser for VHDL-2008. + +Main Goals +********** + +* **Parsing** + + * slice an input document into **tokens** and text **blocks** which are categorized + * preserve case, whitespace and comments + * recover on parsing errors + * good error reporting / throw exceptions + +* **Fast Processing** + + * multi-pass parsing and analysis + * delay analysis if not needed at current pass + * link tokens and blocks for fast-forward scanning + +* **Generic VHDL Language Model** + + * Assemble a document-object-model (Code-DOM) + * Provide an API for code introspection + + +Use Cases +********* + +* generate documentation by using the fast-forward scanner +* generate a document/language model by using the grouped text-block scanner +* extract compile orders and other dependency graphs +* generate highlighted syntax +* re-annotate documenting comments to their objects for doc extraction + + +Parsing approach +**************** + +1. slice an input document into **tokens** +2. assemble tokens to text **blocks** which are categorized +3. assemble text blocks for fast-forward scanning into **groups** +4. translate groups into a document-object-model (DOM) +5. provide a generic VHDL language model + + +Long time goals +*************** + +* A Sphinx language plugin for VHDL + -.. only:: html - News - **** +News +**** .. only:: html diff --git a/setup.py b/setup.py index c9f9529f6..6ddbfce02 100644 --- a/setup.py +++ b/setup.py @@ -50,7 +50,7 @@ setuptools.setup( name=projectName, - version="0.4.1", + version="0.4.2", author="Patrick Lehmann", author_email="Paebbels@gmail.com", @@ -79,7 +79,8 @@ "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", - "Development Status :: 3 - Alpha", + "Development Status :: 2 - Pre-Alpha", +# "Development Status :: 3 - Alpha", # "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Topic :: Utilities"