Skip to content
Snippets Groups Projects
Commit 70901aae authored by Frederik Hennig's avatar Frederik Hennig
Browse files

Fast-Forward to v0.1a1

parent be8dd46e
No related branches found
No related tags found
No related merge requests found
Pipeline #67943 passed
Showing
with 828 additions and 177 deletions
......@@ -17,6 +17,10 @@ dist
*.whl
*.egg-info
# tests and coverage
.coverage
htmlcov
coverage.xml
# mkdocs
site
\ No newline at end of file
stages:
- pretest
- test
- "Code Quality"
- "Tests"
- "Documentation"
- deploy
linter:
stage: pretest
stage: "Code Quality"
needs: []
except:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -15,7 +17,8 @@ linter:
- docker
typechecker:
stage: pretest
stage: "Code Quality"
needs: []
except:
variables:
- $ENABLE_NIGHTLY_BUILDS
......@@ -26,24 +29,46 @@ typechecker:
tags:
- docker
testsuite:
stage: "Tests"
image: i10git.cs.fau.de:5005/pycodegen/pycodegen/full
needs: []
before_script:
- pip install "git+https://i10git.cs.fau.de/pycodegen/pystencils.git@v2.0-dev"
- pip install -e .
script:
- pytest -v --cov-report html --cov-report xml --cov-report term --cov=src/pystencilssfg tests
artifacts:
when: always
paths:
- htmlcov
reports:
coverage_report:
coverage_format: cobertura
path: coverage.xml
build-documentation:
stage: test
stage: "Documentation"
image: i10git.cs.fau.de:5005/pycodegen/pycodegen/full
needs: []
before_script:
- pip install "git+https://i10git.cs.fau.de/pycodegen/pystencils.git@v2.0-dev"
- pip install -e .[docs]
script:
- pip install mkdocs mkdocs-material mkdocstrings[python]
- mkdocs build
- cd docs
- make html
tags:
- docker
artifacts:
paths:
- site
- docs/build/html
pages:
image: i10git.cs.fau.de:5005/pycodegen/pycodegen/full
stage: deploy
script:
- ls -l
- mv site public # folder has to be named "public" for gitlab to publish it
- mv docs/build/html public # folder has to be named "public" for gitlab to publish it
artifacts:
paths:
- public
......
This diff is collapsed.
# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = source
BUILDDIR = build
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
::: pystencilssfg.composer.SfgComposer
::: pystencilssfg.composer.SfgBasicComposer
::: pystencilssfg.composer.SfgClassComposer
::: pystencilssfg.composer.make_sequence
\ No newline at end of file
::: pystencilssfg.context.SfgContext
::: pystencilssfg.source_concepts.cpp.std_vector_ref
::: pystencilssfg.source_concepts.cpp.mdspan_ref
::: pystencilssfg.source_concepts.cpp.StdVector
::: pystencilssfg.source_concepts.cpp.StdMdspan
## Output Configuration
::: pystencilssfg.configuration.SfgOutputSpec
## Header-Implementation-Pair Emission
::: pystencilssfg.emission.HeaderImplPairEmitter
## Code Style and `clang-format`
::: pystencilssfg.configuration.SfgCodeStyle
::: pystencilssfg.emission.clang_format.invoke_clang_format
\ No newline at end of file
::: pystencilssfg.generator.SourceFileGenerator
::: pystencilssfg.configuration.SfgConfiguration
::: pystencilssfg.configuration.DEFAULT_CONFIG
# API Documentation
These pages document the public API of *pystencils-sfg*.
### Front End
- [Source File Generator](generator.md)
- [Code Generation Context](context.md)
- [Composer](composer.md)
### Source File Modelling
- [Source File Components](source_components.md)
- [Kernel Call Tree](tree.md)
### High-Level Language Concepts
- [Base Classes](source_objects.md)
- [C++ Standard Library](cpp_std.md)
### Code Generation
- [Emission and Printing](emission.md)
\ No newline at end of file
## Kernels and Kernel Namespaces
::: pystencilssfg.source_components.SfgKernelNamespace
::: pystencilssfg.source_components.SfgKernelHandle
## Includes
::: pystencilssfg.source_components.SfgHeaderInclude
## Functions
::: pystencilssfg.source_components.SfgFunction
## Classes
::: pystencilssfg.source_components.SfgClassKeyword
::: pystencilssfg.source_components.SfgClass
### Visibility
::: pystencilssfg.source_components.SfgVisibility
::: pystencilssfg.source_components.SfgVisibilityBlock
### Members
::: pystencilssfg.source_components.SfgClassMember
::: pystencilssfg.source_components.SfgInClassDefinition
::: pystencilssfg.source_components.SfgConstructor
::: pystencilssfg.source_components.SfgMethod
::: pystencilssfg.source_concepts.SrcObject
::: pystencilssfg.source_concepts.SrcField
::: pystencilssfg.source_concepts.SrcVector
## Base Classes
::: pystencilssfg.tree.SfgCallTreeNode
::: pystencilssfg.tree.SfgCallTreeLeaf
::: pystencilssfg.tree.SfgEmptyNode
## Utility Nodes
::: pystencilssfg.tree.SfgFunctionParams
::: pystencilssfg.tree.SfgRequireIncludes
## Sequences of Statements
::: pystencilssfg.tree.SfgSequence
::: pystencilssfg.tree.SfgStatements
## Structural and Conditional Constructs
::: pystencilssfg.tree.SfgBlock
## Kernel Calls
::: pystencilssfg.tree.SfgKernelCallNode
h2.doc-heading {
font-size: x-large
}
h3.doc-heading {
font-size: large;
}
.doc-class>.doc-heading::before {
font-size: small;
content: "class ";
margin-right: 5pt;
}
.doc-contents {
border-left: 3pt solid rgb(60, 60, 60);
padding-left: 10pt;
}
.doc-class .doc-children .doc-attribute>.doc-heading::before {
font-size: small;
content: "attribute ";
margin-right: 5pt;
}
.doc-class .doc-children .doc-function>.doc-heading::before {
font-size: small;
content: "function ";
margin-right: 5pt;
}
.doc-children {
padding-left: 10pt;
}
\ No newline at end of file
@ECHO OFF
pushd %~dp0
REM Command file for Sphinx documentation
if "%SPHINXBUILD%" == "" (
set SPHINXBUILD=sphinx-build
)
set SOURCEDIR=source
set BUILDDIR=build
%SPHINXBUILD% >NUL 2>NUL
if errorlevel 9009 (
echo.
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
echo.installed, then set the SPHINXBUILD environment variable to point
echo.to the full path of the 'sphinx-build' executable. Alternatively you
echo.may add the Sphinx directory to PATH.
echo.
echo.If you don't have Sphinx installed, grab it from
echo.https://www.sphinx-doc.org/
exit /b 1
)
if "%1" == "" goto help
%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
goto end
:help
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
:end
popd
***************************************
Composer API (`pystencilssfg.composer`)
***************************************
.. autoclass:: pystencilssfg.composer.SfgComposer
:members:
.. autoclass:: pystencilssfg.composer.SfgIComposer
:members:
.. autoclass:: pystencilssfg.composer.SfgBasicComposer
:members:
.. autoclass:: pystencilssfg.composer.SfgClassComposer
:members:
.. autofunction:: pystencilssfg.composer.make_sequence
**************************
Generator Script Interface
**************************
.. autoclass:: pystencilssfg.SourceFileGenerator
:members:
.. autoclass:: pystencilssfg.SfgConfiguration
:members:
.. autoattribute:: pystencilssfg.configuration.DEFAULT_CONFIG
#############
API Reference
#############
These pages provide a reference for the public API of *pystencils-sfg*.
.. toctree::
:maxdepth: 1
generation
composer
lang
ir
Internal Code Representation (`pystencilssfg.ir`)
=================================================
.. autoclass:: pystencilssfg.SfgContext
:members:
.. automodule:: pystencilssfg.ir
:members:
Language Modelling (`pystencilssfg.lang`)
=========================================
.. automodule:: pystencilssfg.lang
Expressions
-----------
.. automodule:: pystencilssfg.lang.expressions
:members:
C++ Standard Library (`pystencilssfg.lang.cpp`)
-----------------------------------------------
Quick Access
^^^^^^^^^^^^
.. automodule:: pystencilssfg.lang.cpp.std
:members:
Implementation
^^^^^^^^^^^^^^
.. automodule:: pystencilssfg.lang.cpp
:members:
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment