[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#16008: semantic/grammar-wy.el cannot be bootstrapped
From: |
David Engster |
Subject: |
bug#16008: semantic/grammar-wy.el cannot be bootstrapped |
Date: |
Sat, 30 Nov 2013 11:00:47 +0100 |
User-agent: |
Gnus/5.130008 (Ma Gnus v0.8) Emacs/24.3 (gnu/linux) |
Glenn Morris writes:
> semantic/grammar-wy.el is a generated file and therefore ideally should
> not be kept in the Emacs VCS.
That's true for all parsers. However, grammar-wy.el is special, as
you've noticed.
> It is generated by semantic/grammar.el.
> semantic/grammar.el requires semantic/grammar-wy.el, therefore
> it is not possible to bootstrap without semantic/grammar-wy.el already
> present.
Yes, it has a circular dependency, because the parser grammar-wy.el
parses grammar files, including itself. In upstream, we have a fallback
parser for this, which is used when grammar-wy.el is not present
yet. Needless to say, you'll soon face chicken/egg problems when you do
changes in grammar.wy, which IMHO cause more pain in the rear than
having generated files under version control. In fact, every time I
worked on grammar.wy, I thought about getting rid of bootstrapping at
compile time and just put all parsers under version control.
> I should also note that the version of semantic/grammar-wy.el in the
> Emacs trunk does not match up with its sources.
>
> It contains:
>
> (require 'semantic)
>
> Yet if you regenerate it, it contains:
>
> (require 'semantic/lex)
> (eval-when-compile (require 'semantic/bovine))
Yes, there may be small differences w.r.t. to requires and such. The
generated parsers should never differ, though.
Problem is: the freeze is near, and I have to do another sync with
upstream, and I'd also really like to get a few things fixed before
that.
-David