[ 
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 have some runtime2 todos (changes requested by reviewers) here:

 * [Runtime2 ToDos|https://daffodil.apache.org/dev/design-notes/runtime2-todos/]

The DFDL-to-C backend and code generator must meet the following acceptance 
criteria before we can submit a pull request to merge its development branch 
into the main branch:

 * [x] Works on "real" messages with sufficient complexity to demonstrate 
functionality
 * [x] Contains test schemas and TDML test cases covering all supported features
 * [x] 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

We plan to 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 
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:

* 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.


> 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 have some runtime2 todos (changes requested by reviewers) here:
>  * [Runtime2 
> ToDos|https://daffodil.apache.org/dev/design-notes/runtime2-todos/]
> The DFDL-to-C backend and code generator must meet the following acceptance 
> criteria before we can submit a pull request to merge its development branch 
> into the main branch:
>  * [x] Works on "real" messages with sufficient complexity to demonstrate 
> functionality
>  * [x] Contains test schemas and TDML test cases covering all supported 
> features
>  * [x] 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
> We plan to 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 
> too.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to