Compilers are commonly divided into "front-end" - concerned with the language 
itself and its syntax, and "back end" - concerned with code-generation.

Sometimes back-ends are language independent as in the same compiler back-end 
can be shared using front-ends for different languages (C and Pascal for 
example).

The term "middle end" also comes up to mean the part that is neither front-end 
nor back-end, specific. In our case there are numerous optimizations we do 
inside Daffodil that are back-end independent. I suppose they're still 
DFDL-specific, but as they're not specifically concerned with the 
dialect/syntax of the DFDL language we distinguish them somewhat.  These 
operate on the same grammar objects as the backends, but do their work in a 
backend-independent manner.




________________________________
From: Steinberger, Rick <rsteinber...@owlcyberdefense.com>
Sent: Monday, October 5, 2020 10:46 AM
To: dev@daffodil.apache.org <dev@daffodil.apache.org>
Subject: RE: Subproject names proposed for discussion

What does the notation 'backend' refer to?

-----Original Message-----
From: Interrante, John A (GE Research, US) <inter...@research.ge.com>
Sent: Monday, October 5, 2020 9:29 AM
To: dev@daffodil.apache.org
Subject: Subproject names proposed for discussion

Steve Lawrence and I would like to bring a topic to the dev list for discussion 
since not everyone is paying attention to the review of my runtime2 push 
request.  Steve suggested, and I agree, that renaming some of the Daffodil 
subprojects might make their meanings more obvious to newcomer devs.  If we do 
rename some subprojects after discussing it on this list, we will do it 
immediately in its own pull request since mixing changes with renames makes it 
difficult to see which changes are just renames instead of actual changes.

What do devs think about us renaming some subprojects like this?

    rename daffodil-core to daffodil-schema-compiler
    leave daffodil-lib alone
    rename daffodil-runtime1 to daffodil-backend-parser-scala
    rename daffodil-runtime1-unparser to daffodil-backend-unparser-scala
    rename daffodil-runtime2 to daffodil-backend-generator-c

Reply via email to