[ 
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 a C code generator and runtime2 backend for Daffodil on a 
dedicated development branch.  Currently the C code generator implements a 
small but still functional subset of DFDL 1.0 for binary data:

- binary boolean, integer, and real numbers
- arrays of simple and complex elements
- choice groups using dispatch/branch keys
- validation of "fixed" attributes
- padding of explicit length complex elements with fill bytes

We have met the following acceptance criteria in order to submit a pull request 
to merge the runtime2-2202 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 Daffodil's build process
- [X] Has instructions how to setup required C tool-chain elements on Linux and 
Windows

We are documenting reviewer requested changes in [Runtime2 
ToDos|https://daffodil.apache.org/dev/design-notes/runtime2-todos/].  We plan 
to address these changes while continuing to build out the C code generator to 
implement more of the "[Runtime 
2|https://cwiki.apache.org/confluence/display/DAFFODIL/WIP%3A+Daffodil+Runtime+2]
 Design" table.  Build requirements and instructions are in the top-level 
README.md and BUILD.md files.


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


> 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
>             Fix For: 3.1.0
>
>
> We have built a C code generator and runtime2 backend for Daffodil on a 
> dedicated development branch.  Currently the C code generator implements a 
> small but still functional subset of DFDL 1.0 for binary data:
> - binary boolean, integer, and real numbers
> - arrays of simple and complex elements
> - choice groups using dispatch/branch keys
> - validation of "fixed" attributes
> - padding of explicit length complex elements with fill bytes
> We have met the following acceptance criteria in order to submit a pull 
> request to merge the runtime2-2202 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 Daffodil's build process
> - [X] Has instructions how to setup required C tool-chain elements on Linux 
> and Windows
> We are documenting reviewer requested changes in [Runtime2 
> ToDos|https://daffodil.apache.org/dev/design-notes/runtime2-todos/].  We plan 
> to address these changes while continuing to build out the C code generator 
> to implement more of the "[Runtime 
> 2|https://cwiki.apache.org/confluence/display/DAFFODIL/WIP%3A+Daffodil+Runtime+2]
>  Design" table.  Build requirements and instructions are in the top-level 
> README.md and BUILD.md files.



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

Reply via email to