Re: [CEDET-devel] bug#16008: semantic/grammar-wy.el cannot be bootstrapped
Brought to you by:
zappo
From: David E. <de...@ra...> - 2013-11-30 10:01:00
|
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 |