History log of /seL4-camkes-master/projects/camkes-tool/camkes/runner/Renderer.py
Revision Date Author Comments
# 21becfa9 16-Jul-2019 Kent McLeod <Kent.Mcleod@data61.csiro.au>

ast,runner: Remove template field from connector

This allows us to more easily extend the mechanisms for constructing
components and connectors.


# 9d10b308 25-Nov-2019 Kent McLeod <Kent.Mcleod@data61.csiro.au>

trivial: Style unstyled files


# fbb6ba6c 03-Mar-2019 Kent McLeod <Kent.Mcleod@data61.csiro.au>

Remove makedirp

Dead code removal.


# de6e4bb1 16-Feb-2019 Kent McLeod <Kent.Mcleod@data61.csiro.au>

camkes: Use custom Jinja loader for tracking files

We can override the FileSystemLoader that Jinja2 provides to track which
template files are opened during the rendering process. This makes it
easier to generate gcc-like dependency files.


# 249aa17e 14-Feb-2019 Kent McLeod <Kent.Mcleod@data61.csiro.au>

camkes: Remove version() function

This removes the functionality that hashes the camkes sources.


# 1a37b48b 13-Feb-2019 Japheth Lim <Japheth.Lim@data61.csiro.au>

runner: remove vestigial options and workarounds for template cache


# 3a993a28 05-Oct-2018 Kent McLeod <Kent.Mcleod@data61.csiro.au>

runner: Use RenderState to capture persistent data


# cbfaac70 30-Aug-2018 Japheth Lim <Japheth.Lim@data61.csiro.au>

restore 'outfile' context as 'outfile_name'

Isabelle theory templates need to know the output filename. Hence, we
provide the filename as 'outfile_name' when running non-code templates.


# 26657e07 25-Feb-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

Only pass required options to renderer

Passing only the required options when instantiating the Renderer ensures that the Renderer
is not depending upon unexpected or specific options


# 8b2ec3e6 20-Jun-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

Fix licenses


# c0f2e900 22-May-2017 Kent McLeod <Kent.Mcleod@data61.csiro.au>

Revert "runner: Configure jinja to remove some whitespace"

This reverts commit f05595dae4f0356044442d427a0b20b513d9d053.


# f05595da 21-May-2017 Kent McLeod <Kent.Mcleod@data61.csiro.au>

runner: Configure jinja to remove some whitespace


# 38000f16 18-Apr-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

Add interface for adding fill information to symbols

capDL frame objects can have an optional 'fill' attribute that instructs the loader
with what to initialize the frame with when loading. This change adds an interface
for adding such information to an existing page sized/aligned symbol


# 63153a12 05-Mar-2017 Stephen Sherratt <Stephen.Sherratt@data61.csiro.au>

Add interface for specifying symbols to keep


# aa5efe12 13-Nov-2016 Stephen Sherratt <Stephen.Sherratt@data61.csiro.au>

Added `lookup_template` to template context

This allows templates to determine the existance of other templates
as they are rendered. This is required for templates to determine
whether connectors have header file templates.


# b908d88f 24-Jun-2016 Stephen Sherratt <Stephen.Sherratt@nicta.com.au>

Output of --version reads from VERSION file

This adds a function "version_number" for reading the version number
from the VERSION file, and renames the existing "version" function
to "version_hash" to disambiguate between the two.


# af78f195 18-May-2016 Matthew Fernandez <matthew.fernandez@nicta.com.au>

Update import usage within the runner for Python changes.

The aim of this commit is compatibility with Python 2.7.11. These changes
effectively make the runner a first class module (relative imports used
internally; __main__.py importing sources as belonging to a module). The intent
is to remain backwards compatible down to Python 2.6 and forwards to Python
3.5.


# bacfebce 27-Oct-2015 Matthew Fernandez <matthew.fernandez@nicta.com.au>

Refactored parser init commit.


# 84a9fc3e 13-Jul-2015 Matthew Fernandez <matthew.fernandez@nicta.com.au>

Use `mkdirp` in preference to `os.makedirs`.

When running multiple instances of the CAmkES code generator, a race condition
is sometimes provoked whereby a call to `os.makedirs`, after checking the
target directory does not exist, can fail because another instance of the code
generator created the directory in the meantime. This change makes the code
generator robust against such effects, allowing multiple instances of it to
execute in parallel.


# 4a4bb2e9 18-Jun-2015 Matthew Fernandez <matthew.fernandez@nicta.com.au>

Optimisation: Disable auto-reloading of templates.

This (default) feature of Jinja is designed for an environment like a
webserver, where templates are expected to change on disk while the service is
still running. CAmkES' code generator does not work as a persistent service and
templates are not expected to change while the generator is running. The net
effect of this should be a (negligible) performance improvement.


# 7b0648c9 12-May-2015 Matthew Fernandez <matthew.fernandez@nicta.com.au>

Resolve symbolic links in template paths.


# 2eab7bca 31-Mar-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

Pass the entire assembly to the template context and allow templates to look through both the configuration and the composition of the assembly


# 4f0a8fdb 08-Jan-2015 Matthew Fernandez <matthew.fernandez@nicta.com.au>

Optimisation: pre-compile templates when the compilation cache is enabled.

This commit makes some changes that kick in when the compilation cache is
enabled. If it is the first time we have seen the templates, they are compiled
into Python byte code and stored in the compilation cache. When rendering
templates after this, we can just retrieve the pre-compiled version from the
compilation cache.

It is difficult to measure the effect of this because it is optimising for a
case when you have edited your ADL (cache miss on the rendered template itself)
but have not modified CAmkES itself. A contrived benchmark gives an optimistic
performance improvement of 5%, but too much weight should not be given to this
figure.


# cc64bb50 21-Jul-2014 TrustworthySystems <gatekeeper@sel4.systems>

Release snapshot