Xoc, yaspl (yet another SPL)
Justin Johansson
no at spam.com
Tue Aug 17 09:06:05 PDT 2010
Has anyone here come across Xoc before?
Here's the abstract
From http://portal.acm.org/citation.cfm?id=1346281.1346312
ABSTRACT
Today's system programmers go to great lengths to extend the languages
in which they program. For instance, system-specific compilers find
errors in Linux and other systems, and add support for specialized
control flow to Qt and event-based programs. These compilers are
difficult to build and cannot always understand each other's language
changes. However, they can greatly improve code understandability and
correctness, advantages that should be accessible to all programmers.
We describe an extension-oriented compiler for C called xoc. An
extension-oriented compiler, unlike a conventional extensible compiler,
implements new features via many small extensions that are loaded
together as needed. Xoc gives extension writers full control over
program syntax and semantics while hiding many compiler internals. Xoc
programmers concisely define powerful compiler extensions that, by
construction, can be combined; even some parts of the base compiler,
such as GNU C compatibility, are structured as extensions.
Xoc is based on two key interfaces. Syntax patterns allow extension
writers to manipulate language fragments using concrete syntax. Lazy
computation of attributes allows extension writers to use the results of
analyses by other extensions or the core without needing to worry about
pass scheduling.
Extensions built using xoc include xsparse, a 345-line extension that
mimics Sparse, Linux's C front end, and xlambda, a 170-line extension
that adds function expressions to C. An evaluation of xoc using these
and 13 other extensions shows that xoc extensions are typically more
concise than equivalent extensions written for conventional extensible
compilers and that it is possible to compose extensions.
<>
More information about the Digitalmars-d
mailing list