[
https://issues.apache.org/jira/browse/DAFFODIL-2202?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
John Interrante updated DAFFODIL-2202:
--------------------------------------
Description:
We have built an initial DFDL-to-C backend and code generator for Apache
Daffodil on a dedicated development branch. Currently the C code generator can
support binary boolean, integer, and real numbers, arrays of simple and complex
elements, choice groups using dispatch/branch keys, validation of "fixed"
attributes, and padding of explicit length complex elements with fill bytes. We
plan to continue building out the C code generator until it supports a minimal
subset of the DFDL 1.0 specification as described in Daffodil's Confluence here:
* [Runtime2
Design|https://cwiki.apache.org/confluence/display/DAFFODIL/WIP:+Daffodil+Runtime+2]
We are keeping track of runtime2 todos (changes requested by reviewers) using
an AsciiDoc document in the dev/design-notes subtree of the Daffodil website
which you can read here:
* [Runtime2 ToDos|https://daffodil.apache.org/dev/design-notes/runtime2-todos/]
We will keep track of acceptance criteria here which the runtime2-2202
development branch must meet before we can submit a pull request to merge the
DFDL-to-C backend and code generator into the main branch:
* Works on "real" messages with sufficient complexity to demonstrate
functionality
* Contains test schemas and TDML test cases covering all supported features
* Fully integrates these tests into 'sbt test' part of Daffodil's build process
* Has instructions how to setup required C tool-chain elements on Linux and
Windows
I hope we will convert an ever-increasing subset of Daffodil's DFDL 1.0
specification TDML tests to run these tests on both the Scala and C backends as
the C backend matures during continued development too.
was:
We have built an initial DFDL-to-C backend and code generator for Apache
Daffodil on a dedicated development branch. Currently the C code generator can
support binary boolean, integer, and real numbers, arrays of simple and complex
elements, choice groups using dispatch/branch keys, validation of "fixed"
attributes, and padding of explicit length complex elements with fill bytes. We
plan to continue building out the C code generator until it supports a minimal
subset of the DFDL 1.0 specification as described in Daffodil's Confluence here:
* [Runtime2
Design|https://cwiki.apache.org/confluence/display/DAFFODIL/WIP:+Daffodil+Runtime+2]
We are keeping track of runtime2 todos (changes requested by reviewers) using
an AsciiDoc document in the dev/design-notes subtree of the Daffodil website
which you can read here:
* [Runtime2 ToDos|https://daffodil.apache.org/dev/design-notes/runtime2-todos/]
We will keep track of acceptance criteria here which the runtime2-2202
development branch must meet before we can submit a pull request to merge the
DFDL-to-C backend and code generator into the main branch:
* _To be discussed on the dev list and incorporated here..._
> Code Gen Framework
> ------------------
>
> Key: DAFFODIL-2202
> URL: https://issues.apache.org/jira/browse/DAFFODIL-2202
> Project: Daffodil
> Issue Type: Improvement
> Components: Back End
> Affects Versions: 2.4.0
> Reporter: Mike Beckerle
> Assignee: John Interrante
> Priority: Minor
>
> We have built an initial DFDL-to-C backend and code generator for Apache
> Daffodil on a dedicated development branch. Currently the C code generator
> can support binary boolean, integer, and real numbers, arrays of simple and
> complex elements, choice groups using dispatch/branch keys, validation of
> "fixed" attributes, and padding of explicit length complex elements with fill
> bytes. We plan to continue building out the C code generator until it
> supports a minimal subset of the DFDL 1.0 specification as described in
> Daffodil's Confluence here:
> * [Runtime2
> Design|https://cwiki.apache.org/confluence/display/DAFFODIL/WIP:+Daffodil+Runtime+2]
> We are keeping track of runtime2 todos (changes requested by reviewers) using
> an AsciiDoc document in the dev/design-notes subtree of the Daffodil website
> which you can read here:
> * [Runtime2
> ToDos|https://daffodil.apache.org/dev/design-notes/runtime2-todos/]
> We will keep track of acceptance criteria here which the runtime2-2202
> development branch must meet before we can submit a pull request to merge the
> DFDL-to-C backend and code generator into the main branch:
> * Works on "real" messages with sufficient complexity to demonstrate
> functionality
> * Contains test schemas and TDML test cases covering all supported features
> * Fully integrates these tests into 'sbt test' part of Daffodil's build
> process
> * Has instructions how to setup required C tool-chain elements on Linux and
> Windows
> I hope we will convert an ever-increasing subset of Daffodil's DFDL 1.0
> specification TDML tests to run these tests on both the Scala and C backends
> as the C backend matures during continued development too.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)