|
Boost-Build : |
Subject: Re: [Boost-build] Son of b2 - suggestions
From: Stefan Seefeld (stefan_at_[hidden])
Date: 2016-11-02 08:33:48
On 31.10.2016 12:40, Steven Watanabe wrote:
> The Jam language itself is actually extremely simple.
> The complete yacc grammar is less than 200 lines
> of code. (337 lines including all whitespace,
> comments, and scaffolding.) The documentation
> here is pretty complete as well:
> http://www.boost.org/build/doc/html/jam/language.html
I heard similar arguments about XML when that became the hype a long
time ago. People were advocating it because of its universality and its
simple grammar.
In both cases I think that this is quite a misleading point: Language is
much more than just syntax and (basic) grammar. You have to develop and
capture vocabularies and associated semantic rules, too. And in any new
language those have to be re-invented, while existing languages already
contain some of this either formally defined, or as de-facto standards
("users' expectations").
Examples:
* variables and their lifetime / scope
* types and type relationships
* ...
The point I'm trying to make here is that we shouldn't exclusively be
focusing on the low-level aspects of "language" when reviewing how best
to express build logic. Inventing (and learning !) new languages is
hard, because it involves *much* more than what can be expressed in a
yacc (or other formal) grammar file.
Stefan
-- ...ich hab' noch einen Koffer in Berlin...
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk