I was bovinating some stuff today and discovered this in my messages
buffer:
Retrieving tokens took 1.-64 seconds.
Making completion list...
Retrieving tokens took 1.36 seconds.
Making completion list...
Retrieving tokens took 1.-71 seconds.
Anyway, I was attempting to convert make.bnf into make.by. I was
fiddling with analyzers, and the new feature that defines a function
for each individual analyzer failed to work in stand alone mode when
the new analyzer had a call to semantic-lex-token. I solved that
with this patch.
*** semantic-lex.el.~1.15.~ Tue Jan 28 07:30:49 2003
--- semantic-lex.el Thu Jan 30 20:58:56 2003
***************
*** 616,622 ****
;; function help is automatically provided, and perhaps the
;; function could be useful for testing and debugging one
;; analyzer.
! (fset ',name (lambda () ,doc (when ,condition ,@forms)))
))
;;;###autoload
--- 617,626 ----
;; function help is automatically provided, and perhaps the
;; function could be useful for testing and debugging one
;; analyzer.
! (fset ',name (lambda () ,doc
! (let ((token-stream nil))
! (when ,condition ,@forms)
! token-stream)))
))
;;;###autoload
which basically provides a `token-stream' for tokens to be placed.
It then returns that stream. It would be nil if empty. The forms
still move the cursor so you can see what was analyzed.
Anyway, I'm having trouble doing the conversion to the .by format.
I've converted it, built a new lexer that looks ok. So I tried
`bovinate-debug'. To my dismay, it switched to the .by file (as
appropriate), parsed some file (the Makefile I presume) and then put
the unmatched syntax for the Makefile into make.by. Hmmm.
Anyway, one problem at a time. I'll keep working on the .by
conversion.
Have fun
Eric
--
Eric Ludlam: zappo@..., eric@...
Home: http://www.ludlam.net Siege: http://www.siege-engine.com
Emacs: http://cedet.sourceforge.net GNU: http://www.gnu.org
|