Thread: Re: [CEDET-devel] `describe-function' for lexical analyzers.
Brought to you by:
zappo
From: David P. <Dav...@wa...> - 2003-01-06 10:29:09
Attachments:
semantic-lex.patch
|
Hi Eric, I finally got a few time to reply to your suggestion! [...] >>(defmacro define-lex-analyzer (name doc condition &rest forms) [...] >>(defsubst semantic-lex-analyzer-p (symbol) [...] >>(defun semantic-lex-analyzer-at-point () [...] >>(defadvice describe-function (around semantic-help activate) [...] > Regarding these functions. This seems like a pretty logical path to > take given our existing implementation. I just had a thought that > might be interesting. Right now in `define-lex-analyzer', we mock > up a setq. If we ALSO added this: > > (fest ',name `(lambda () ,doc (when ,condition ,@forms))) > > then the doc for function help is automatically provided, AND > you could take your analyzer and do this: > > (my-analyzer) > > and it may or may not return a lexical token. It isn't clear if > that particular features is useful or not except perhaps for testing > and debugging one analyzer. The existing mechanism for building a > lexer would continue to work as well since it would have the > variable value. I like that idea! It keeps the code very simple and, as you said, it could be useful to get analyzers as true functions to help test and debug them. Attached is a patch to semantic-lex.el. I just added a dummy `defun' before the `fset' to get a link to the file from which the definition was loaded. The patch also includes some whitespace and doc fixes. If you like it, I will check it in ;-) Thanks! David |
From: David P. <Dav...@wa...> - 2003-01-09 13:09:00
|
Hi Eric, > Sorry 'bout the delay in my response. No problem ;-) > This looks great. The use of defun is clever. I'm glad you knew > to do that. That will help a lot. Thanks! I checked the changes in. [...] >>* semantic-bovinate-nonterminal-db-nt doc-string refers to >> semantic-bovinate-nonterminal which does not exist. > > > David renamed much of the core parser functions, and this is left > over bits. I think it wants to refer to `semantic-bovinate-stream', > but I'll have to double check. What it is doing is certainly a > hack. I also checked-in a doc fix to semantic-bovine.el. David |
From: Eric M. L. <er...@si...> - 2003-01-09 18:05:41
|
>>> "David PONCE" <Dav...@wa...> seems to think that: >Hi Eric, > >> Sorry 'bout the delay in my response. > >No problem ;-) > >> This looks great. The use of defun is clever. I'm glad you knew >> to do that. That will help a lot. > >Thanks! I checked the changes in. > >[...] >>>* semantic-bovinate-nonterminal-db-nt doc-string refers to >>> semantic-bovinate-nonterminal which does not exist. >> >> >> David renamed much of the core parser functions, and this is left >> over bits. I think it wants to refer to `semantic-bovinate-stream', >> but I'll have to double check. What it is doing is certainly a >> hack. > >I also checked-in a doc fix to semantic-bovine.el. [ ... ] Thanks Eric -- Eric Ludlam: za...@gn..., er...@si... Home: http://www.ludlam.net Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net GNU: www.gnu.org |
From: Eric M. L. <er...@si...> - 2003-01-09 00:49:01
|
Hi David. Sorry 'bout the delay in my response. This looks great. The use of defun is clever. I'm glad you knew to do that. That will help a lot. Thanks Eric >>> "David PONCE" <Dav...@wa...> seems to think that: >Hi Eric, > >I finally got a few time to reply to your suggestion! > >[...] >>>(defmacro define-lex-analyzer (name doc condition &rest forms) >[...] >>>(defsubst semantic-lex-analyzer-p (symbol) >[...] >>>(defun semantic-lex-analyzer-at-point () >[...] >>>(defadvice describe-function (around semantic-help activate) >[...] > >> Regarding these functions. This seems like a pretty logical path to >> take given our existing implementation. I just had a thought that >> might be interesting. Right now in `define-lex-analyzer', we mock >> up a setq. If we ALSO added this: >> >> (fest ',name `(lambda () ,doc (when ,condition ,@forms))) >> >> then the doc for function help is automatically provided, AND >> you could take your analyzer and do this: >> >> (my-analyzer) >> >> and it may or may not return a lexical token. It isn't clear if >> that particular features is useful or not except perhaps for testing >> and debugging one analyzer. The existing mechanism for building a >> lexer would continue to work as well since it would have the >> variable value. > >I like that idea! It keeps the code very simple and, as you said, it >could be useful to get analyzers as true functions to help test and >debug them. > >Attached is a patch to semantic-lex.el. > >I just added a dummy `defun' before the `fset' to get a link >to the file from which the definition was loaded. > >The patch also includes some whitespace and doc fixes. > >If you like it, I will check it in ;-) > >Thanks! >David > -- Eric Ludlam: za...@gn..., er...@si... Home: http://www.ludlam.net Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net GNU: www.gnu.org |