Thread: [cedet-semantic] first time user code complition
Brought to you by:
zappo
From: Fred J. <ph...@ya...> - 2005-07-28 05:54:20
|
Hello I am new to this pacakge and did some reading in C-h i m semantic but need some help seting it up. I read "semantic provides extensive tools to help support a new language. An original LL parser, and a Bison-like LALR parser are included. So, for a regular language, all that the developer needs to do is write a grammar file along with appropriate semantic rules. " is this somthing I have to do before I can enjoy the intellsence of it, and if so then how? basicly I have this #include <iostream> #include <string> using namespace std; typedef struct { string firstname; string lastname; int age; } employees; int main(){ employees e1, e2; e1. <---here I did M-x semantic-analyze-possible-completions' or`semantic-ia-complete-symbol as indicated in the web faq. nothing happend. I am expecting a pull-down list of the objects in the struct firstname lastname age can someone tell me what is going on? I have this ||/ Name Version Description +++-=========================-=========================-================================================================== ii cedet-common 1.0beta3b-1.1 Collection of Emacs Development Environment Tools - common parts ii cedet-contrib 1.0beta3b-1.1 Collection of Emacs Development Environment Tools - contributed sam@debian:~$ thanks alot ____________________________________________________ Start your day with Yahoo! - make it your home page http://www.yahoo.com/r/hs |
From: Eric M. L. <er...@si...> - 2005-07-28 10:49:07
|
Hi, Semantic comes with a C grammar already, so if you are working on C code, you just need to follow the INSTALL instructions in CEDET, and possibly in the semantic directory also. Once you do that, it can do some completions as in the example you provide. The reason you are not getting it to work is because the function "main" is not complete, so semantic does not realize it is in a function. If you add the curly brace, it will be able to do the completion. Also, make sure you have installed cedet-1.0pre3, which is the latest release which is very close to a regular 1.0 release. Eric >>> "Fred J." <ph...@ya...> seems to think that: > >Hello > >I am new to this pacakge and did some reading in C-h i >m semantic but need some help seting it up. > >I read >"semantic provides extensive tools to help support a >new language. An >original LL parser, and a Bison-like LALR parser are >included. So, for >a regular language, all that the developer needs to do >is write a >grammar file along with appropriate semantic rules. >" > >is this somthing I have to do before I can enjoy the >intellsence of it, >and if so then how? > >basicly I have this > >#include <iostream> >#include <string> > >using namespace std; > >typedef struct >{ > string firstname; > string lastname; > int age; >} >employees; > >int main(){ > employees e1, e2; > e1. <---here I did M-x > >semantic-analyze-possible-completions' > or`semantic-ia-complete-symbol as indicated in the >web faq. >nothing happend. I am expecting a pull-down list of >the objects in the >struct >firstname >lastname >age > >can someone tell me what is going on? >I have this >||/ Name Version > Description >+++-=========================-=========================-================================================================== >ii cedet-common 1.0beta3b-1.1 > Collection of Emacs Development Environment Tools - >common parts >ii cedet-contrib 1.0beta3b-1.1 > Collection of Emacs Development Environment Tools - >contributed >sam@debian:~$ > > >thanks alot [ ... ] |
From: Fred J. <ph...@ya...> - 2005-07-29 07:28:20
|
--- "Eric M. Ludlam" <er...@si...> wrote: > Hi, > > Semantic comes with a C grammar already, so if you > are working on C > code, you just need to follow the INSTALL > instructions in CEDET, and > possibly in the semantic directory also. > > Once you do that, it can do some completions as in > the example you > provide. > > The reason you are not getting it to work is > because the function > "main" is not complete, so semantic does not realize > it is in a > function. If you add the curly brace, it will be > able to do the > completion. > > Also, make sure you have installed cedet-1.0pre3, > which is the > latest release which is very close to a regular 1.0 > release. > > Eric > > >>> "Fred J." <ph...@ya...> seems to think > that: > > > >Hello > > > >I am new to this pacakge and did some reading in > C-h i > >m semantic but need some help seting it up. > > > >I read > >"semantic provides extensive tools to help support > a > >new language. An > >original LL parser, and a Bison-like LALR parser > are > >included. So, for > >a regular language, all that the developer needs to > do > >is write a > >grammar file along with appropriate semantic rules. > >" > > > >is this somthing I have to do before I can enjoy > the > >intellsence of it, > >and if so then how? > > > >basicly I have this > > > >#include <iostream> > >#include <string> > > > >using namespace std; > > > >typedef struct > >{ > > string firstname; > > string lastname; > > int age; > >} > >employees; > > > >int main(){ > > employees e1, e2; > > e1. <---here I did M-x > > > >semantic-analyze-possible-completions' > > or`semantic-ia-complete-symbol as indicated in > the > >web faq. > >nothing happend. I am expecting a pull-down list of > >the objects in the > >struct > >firstname > >lastname > >age > > > >can someone tell me what is going on? > >I have this > >||/ Name Version > > > Description > >+++-=========================-=========================-================================================================== > >ii cedet-common 1.0beta3b-1.1 > > > Collection of Emacs Development Environment Tools > - > >common parts > >ii cedet-contrib 1.0beta3b-1.1 > > > Collection of Emacs Development Environment Tools > - > >contributed > >sam@debian:~$ > > > > > >thanks alot > [ ... ] > Hello I download the latest release, and did sam@debian:/tmp/downloads/packages$ $tar -xvvzf cedet-1.0pre3.tar.gz sam@debian:/tmp/downloads/packages/cedet-1.0pre3$ ls -l total 48 -rw-r--r-- 1 500 users 2623 Jun 30 13:08 INSTALL -rw-r--r-- 1 500 users 3590 Jun 30 13:08 Makefile -rw-r--r-- 1 500 users 5757 Jun 30 13:08 PRERELEASE_CHECKLIST -rw-r--r-- 1 500 users 3081 Jun 30 13:08 cedet-update-version.el drwxr-xr-x 2 500 users 4096 Jul 29 17:16 cogre drwxr-xr-x 3 500 users 4096 Jul 29 17:13 common drwxr-xr-x 2 500 users 4096 Jul 29 17:16 contrib drwxr-xr-x 2 500 users 4096 Jul 29 17:13 ede drwxr-xr-x 2 500 users 4096 Jul 29 17:13 eieio drwxr-xr-x 6 500 users 4096 Jul 29 17:14 semantic drwxr-xr-x 2 500 users 4096 Jul 29 17:13 speedbar sam@debian:/tmp/downloads/packages/cedet-1.0pre3$ su and password sam@debian:/tmp/downloads/packages/cedet-1.0pre3# make all went ok now step (3) in the INSTALL file says [ 3) Install load hooks into your .emacs file. ] how do you install? 'sorry, new to linux and emacs but quick learner' I have allready an installed cedet library from my #apt-get update upgrade ********************just in case you wanted to know***************** #locate cedet Script started on Fri Jul 29 17:39:07 2005 debian:~# locate cedet /etc/emacs/site-start.d/50cedet-common.el /etc/emacs/site-start.d/53cedet-contrib.el /usr/lib/emacsen-common/packages/install/cedet-common /usr/lib/emacsen-common/packages/install/cedet-contrib /usr/lib/emacsen-common/packages/remove/cedet-common /usr/lib/emacsen-common/packages/remove/cedet-contrib /usr/share/doc/cedet-common /usr/share/doc/cedet-common/changelog.Debian.gz /usr/share/doc/cedet-common/changelog.gz /usr/share/doc/cedet-common/copyright /usr/share/doc/cedet-common/README.Debian /usr/share/doc/cedet-contrib /usr/share/doc/cedet-contrib/changelog.Debian.gz /usr/share/doc/cedet-contrib/changelog.gz /usr/share/doc/cedet-contrib/copyright /usr/share/emacs/site-lisp/cedet-common /usr/share/emacs/site-lisp/cedet-common/cedet-autogen.el /usr/share/emacs/site-lisp/cedet-common/cedet-compat.el /usr/share/emacs/site-lisp/cedet-common/cedet-edebug.el /usr/share/emacs/site-lisp/cedet-common/cedet-load.el /usr/share/emacs/site-lisp/cedet-common/cedet-loaddefs.el /usr/share/emacs/site-lisp/cedet-common/cedet.el /usr/share/emacs/site-lisp/cedet-common/ezimage.el /usr/share/emacs/site-lisp/cedet-common/icons /usr/share/emacs/site-lisp/cedet-common/icons/bits.xpm /usr/share/emacs/site-lisp/cedet-common/icons/bitsbang.xpm /usr/share/emacs/site-lisp/cedet-common/icons/box-minus.xpm /usr/share/emacs/site-lisp/cedet-common/icons/box-plus.xpm /usr/share/emacs/site-lisp/cedet-common/icons/box.xpm /usr/share/emacs/site-lisp/cedet-common/icons/checkmark.xpm /usr/share/emacs/site-lisp/cedet-common/icons/dir-minus.xpm /usr/share/emacs/site-lisp/cedet-common/icons/dir-plus.xpm /usr/share/emacs/site-lisp/cedet-common/icons/dir.xpm /usr/share/emacs/site-lisp/cedet-common/icons/doc-minus.xpm /usr/share/emacs/site-lisp/cedet-common/icons/doc-plus.xpm /usr/share/emacs/site-lisp/cedet-common/icons/doc.xpm /usr/share/emacs/site-lisp/cedet-common/icons/info.xpm /usr/share/emacs/site-lisp/cedet-common/icons/key.xpm /usr/share/emacs/site-lisp/cedet-common/icons/label.xpm /usr/share/emacs/site-lisp/cedet-common/icons/lock.xpm /usr/share/emacs/site-lisp/cedet-common/icons/mail.xpm /usr/share/emacs/site-lisp/cedet-common/icons/page-minus.xpm /usr/share/emacs/site-lisp/cedet-common/icons/page-plus.xpm /usr/share/emacs/site-lisp/cedet-common/icons/page.xpm /usr/share/emacs/site-lisp/cedet-common/icons/tag-gt.xpm /usr/share/emacs/site-lisp/cedet-common/icons/tag-minus.xpm /usr/share/emacs/site-lisp/cedet-common/icons/tag-plus.xpm /usr/share/emacs/site-lisp/cedet-common/icons/tag-type.xpm /usr/share/emacs/site-lisp/cedet-common/icons/tag-v.xpm /usr/share/emacs/site-lisp/cedet-common/icons/tag.xpm /usr/share/emacs/site-lisp/cedet-common/icons/unlock.xpm /usr/share/emacs/site-lisp/cedet-common/inversion.el /usr/share/emacs/site-lisp/cedet-common/mode-local.el /usr/share/emacs/site-lisp/cedet-common/pprint.el /usr/share/emacs/site-lisp/cedet-common/sformat.el /usr/share/emacs/site-lisp/cedet-common/working.el /usr/share/emacs/site-lisp/cedet-contrib /usr/share/emacs/site-lisp/cedet-contrib/cedet-contrib-load.el /usr/share/emacs/site-lisp/cedet-contrib/cedet-contrib.el /usr/share/emacs/site-lisp/cedet-contrib/contrib-loaddefs.el /usr/share/emacs/site-lisp/cedet-contrib/wisent-csharp-wy.el /usr/share/emacs/site-lisp/cedet-contrib/wisent-csharp.el /usr/share/emacs/site-lisp/cedet-contrib/wisent-csharp.wy /usr/share/emacs21/site-lisp/cedet-common /usr/share/emacs21/site-lisp/cedet-common/cedet-autogen.elc /usr/share/emacs21/site-lisp/cedet-common/cedet-compat.elc /usr/share/emacs21/site-lisp/cedet-common/cedet-edebug.elc /usr/share/emacs21/site-lisp/cedet-common/cedet-load.elc /usr/share/emacs21/site-lisp/cedet-common/cedet-loaddefs.elc /usr/share/emacs21/site-lisp/cedet-common/cedet.elc /usr/share/emacs21/site-lisp/cedet-common/ezimage.elc /usr/share/emacs21/site-lisp/cedet-common/inversion.elc /usr/share/emacs21/site-lisp/cedet-common/mode-local.elc /usr/share/emacs21/site-lisp/cedet-common/pprint.elc /usr/share/emacs21/site-lisp/cedet-common/sformat.elc /usr/share/emacs21/site-lisp/cedet-common/working.elc /usr/share/emacs21/site-lisp/cedet-contrib /usr/share/emacs21/site-lisp/cedet-contrib/cedet-contrib-load.elc /usr/share/emacs21/site-lisp/cedet-contrib/cedet-contrib.elc /usr/share/emacs21/site-lisp/cedet-contrib/contrib-loaddefs.elc /usr/share/emacs21/site-lisp/cedet-contrib/wisent-csharp-wy.elc /usr/share/emacs21/site-lisp/cedet-contrib/wisent-csharp.elc /var/cache/apt/archives/cedet-common_1%3a1.0beta3b-1.1_all.deb /var/cache/apt/archives/cedet-common_1%3a1.0beta3b-1_all.deb /var/cache/apt/archives/cedet-contrib_1%3a1.0beta3b-1.1_all.deb /var/cache/apt/archives/cedet-contrib_1%3a1.0beta3b-1_all.deb /var/lib/dpkg/info/cedet-common.conffiles /var/lib/dpkg/info/cedet-common.list /var/lib/dpkg/info/cedet-common.md5sums /var/lib/dpkg/info/cedet-common.postinst /var/lib/dpkg/info/cedet-common.prerm /var/lib/dpkg/info/cedet-contrib.conffiles /var/lib/dpkg/info/cedet-contrib.list /var/lib/dpkg/info/cedet-contrib.md5sums /var/lib/dpkg/info/cedet-contrib.postinst /var/lib/dpkg/info/cedet-contrib.prerm debian:~# exit Script done on Fri Jul 29 17:39:27 2005 __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com |
From: drkm <dar...@ya...> - 2005-07-29 09:23:48
|
Fred J. writes: > now step (3) in the INSTALL file says > 3) Install load hooks into your .emacs file. > how do you install? 'sorry, new to linux and emacs but > quick learner' In this case, this word means nothing specific. You just have to copy and paste the code following the sentence in your ~/.emacs.el. As simple as that :-) > I have allready an installed cedet library from my > #apt-get update upgrade Mmh. I don't know (yet) Debian very well. Maybe the best thing you can do is 1) uninstall the Debian package, or 2) email its maintainer and wait he make an up-to-date package. But maybe just don't have the following files loaded may be enough: > /etc/emacs/site-start.d/50cedet-common.el > /etc/emacs/site-start.d/53cedet-contrib.el Can you post their contents here? --drkm |
From: Fred J. <ph...@ya...> - 2005-07-29 19:14:15
|
--- drkm <dar...@ya...> wrote: > Fred J. writes: > > > now step (3) in the INSTALL file says > > 3) Install load hooks into your .emacs file. > > > how do you install? 'sorry, new to linux and emacs > but > > quick learner' > > In this case, this word means nothing specific. > You just have > to copy and paste the code following the sentence in > your > ~/.emacs.el. As simple as that :-) > > > But maybe just don't have the following files > loaded may be > enough: > > > /etc/emacs/site-start.d/50cedet-common.el ------------------------------------------------ ;; -*-emacs-lisp-*- ;; ;; Emacs startup file for the Debian cedet-common package ;; ;; Originally contributed by Nils Naumann <na...@un...> ;; Modified by Dirk Eddelbuettel <ed...@de...> ;; Adapted for dh-make by Jim Van Zandt <jr...@va...> ;; The cedet-common package follows the Debian/GNU Linux 'emacsen' policy and ;; byte-compiles its elisp files for each 'emacs flavor' (emacs19, ;; xemacs19, emacs20, xemacs20...). The compiled code is then ;; installed in a subdirectory of the respective site-lisp directory. ;; We have to add this to the load-path: (let ((package-dir (concat "/usr/share/" (symbol-name flavor) "/site-lisp/cedet-common"))) (when (file-directory-p package-dir) (setq load-path (cons package-dir load-path)))) ;; For byte-compiling other CEDETs (add-to-list 'load-path "/usr/share/emacs/site-lisp/cedet-common/") (require 'cedet-autogen) > > /etc/emacs/site-start.d/53cedet-contrib.el ----------------------------------------------------- ;; -*-emacs-lisp-*- ;; ;; Emacs startup file for the Debian cedet-contrib package ;; ;; Originally contributed by Nils Naumann <na...@un...> ;; Modified by Dirk Eddelbuettel <ed...@de...> ;; Adapted for dh-make by Jim Van Zandt <jr...@va...> ;; The cedet-contrib package follows the Debian/GNU Linux 'emacsen' policy and ;; byte-compiles its elisp files for each 'emacs flavor' (emacs19, ;; xemacs19, emacs20, xemacs20...). The compiled code is then ;; installed in a subdirectory of the respective site-lisp directory. ;; We have to add this to the load-path: (let ((package-dir (concat "/usr/share/" (symbol-name flavor) "/site-lisp/cedet-common"))) (when (file-directory-p package-dir) (setq load-path (cons package-dir load-path)))) ;; For byte-compiling other CEDETs (add-to-list 'load-path "/usr/share/emacs/site-lisp/cedet-contrib/") __________________________________ Do you Yahoo!? Yahoo! Mail - Helps protect you from nasty viruses. http://promotions.yahoo.com/new_mail |
From: drkm <dar...@ya...> - 2005-07-30 00:03:18
|
Fred J. writes: >> > /etc/emacs/site-start.d/50cedet-common.el > (let ((package-dir (concat "/usr/share/" > (symbol-name flavor) "/site-lisp/cedet-common"))) > (when (file-directory-p package-dir) > (setq load-path (cons package-dir > load-path)))) > ;; For byte-compiling other CEDETs > (add-to-list 'load-path "/usr/share/emacs/site-lisp/cedet-common/") > (require 'cedet-autogen) >> > /etc/emacs/site-start.d/53cedet-contrib.el > (let ((package-dir (concat "/usr/share/" > (symbol-name flavor) "/site-lisp/cedet-common"))) > (when (file-directory-p package-dir) > (setq load-path (cons package-dir > load-path)))) > ;; For byte-compiling other CEDETs > (add-to-list 'load-path "/usr/share/emacs/site-lisp/cedet-contrib/") Mmh. I'm not sure it's the right way to load properly CEDET tools. But it lets the opportunity, IMHO, to overload it, by calling: (load ".../cedet-1.0pre3/common/cedet") in your ~/.emacs.el. --drkm |