I'd like to work on the code generation framework
(https://issues.apache.org/jira/browse/DAFFODIL-2202) initiated by Julian
Feinauer and discussed by Mike Beckerle in the Daffodil design notes
(https://cwiki.apache.org/confluence/display/DAFFODIL/WIP%3A+Daffodil+Runtime+2).
Steve suggested that I start a discussion on the dev mailing list.
Mike said that our first goal should be to get a very simple code-gen example
working. Write a schema that describes a single element (a 32-bit binary int),
get Daffodil to compile that schema, generate the source code for a parser,
compile that parser, and run a test against it showing it is working as
expected:
<xs:element name="uI_01" type="xs:unsignedInt" />
<tdml:parserTestCase name="unsignedInt_binary"
root="uI_01" model="SimpleTypes-binary"
description="Section 5 Schema types-unsignedInt - DFDL-5-018R">
<tdml:document>
<tdml:documentPart
type="bits">00000000000000000000000000001000</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<uI_01>8</uI_01>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
@Test def test_unsignedInt_binary() { runner.runOneTest("unsignedInt_binary") }
Julian has contributed some code
(https://github.com/apache/incubator-daffodil/compare/master...JulianFeinauer:feature/daffodil-2202-initial-codegen)
and Mike has made some changes to it
(https://github.com/apache/incubator-daffodil/compare/master...mbeckerle:daffodil-2202-initial-codegen).
We will have to solve a lot of problems before we can run even that test, so it
would be a big step forward. I want all the help I can get to get this tiny
first example working. I would welcome a suggestion from Julian, Mike, Steve,
or anyone else how to continue what's been done so far.
Thanks,
John
John Interrante
Sr. Software Engineer, Software & Analytics
GE Global Research Center, Niskayuna NY