Tu Do | 15 Sep 13:53 2014
Picon

How to integrate external parser

Hi Eric,

If I want to create external parser, for example based on Clang, and generate Semantic compatible tags for indexing an existing project, where should I start? What parts of Semantic should I have a look? 

Thanks,

Tu.
------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_______________________________________________
Cedet-devel mailing list
Cedet-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cedet-devel
rsgodcraftriot | 13 Sep 05:14 2014
Picon

C structs and Semantic aren't working well together


Well, as the subject says, C structs are broken in Semantic.

Take the code for example:

struct Foo
{
        int Bar;
}

int main()
{
        struct Foo Baz;
        Ba -- Cannot find completion for `"Ba"'
        Baz. -- Cannot find types for `"Ba"'
        return 0
}

What makes it even weirder is that it pretty much works(?, I haven't
tried structs on headers, but functions on headers works), except for
the fact that if you declare a struct inside the code itself, it fails.

------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
Tu Do | 11 Sep 06:42 2014
Picon

How to show overloaded functions with semantic-idle-summary-mode

Hi Eric,

semantic-idle-summary-mode works fine in C since C does not have overloaded functions. However, in C++ multiple function with different interfaces using the same name exist. Does semantic-idle-summary-mode handle this situation?

Thanks.


------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_______________________________________________
Cedet-devel mailing list
Cedet-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cedet-devel
Brian J Mingus | 5 Sep 19:56 2014
Picon

BNF to Wisent grammar converter

Hi all,

Where can I find a converter from BNF to the wisent grammar format?

Brian
------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
Cedet-devel mailing list
Cedet-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cedet-devel
Oleh | 4 Sep 14:16 2014
Picon

request: add const member function flag for C++

Hi all,

I'd like to bring to your attention one feature that's missing from C++ parser.
This is the example source file:

#+begin_src C++
class ABC
{
    int value() const;
};
#+end_src

`bovinate' returns:

    (("ABC" type
            (:members
             (("value" function
                       (:prototype-flag t :type "int")
                       (reparse-symbol classsubparts)
                       #<overlay from 17 to 35 in test.cc>))
             :type "class")
            nil #<overlay from 1 to 38 in test.cc>))

while I'd like it to return:

    (("ABC" type
            (:members
             (("value" function
                       (:prototype-flag t :constant-flag t :type "int")
                       (reparse-symbol classsubparts)
                       #<overlay from 17 to 35 in test.cc>))
             :type "class")
            nil #<overlay from 1 to 38 in test.cc>))

The difference is ":constant-flag t". The constant-flag is already implemented
for variables, but not yet for member functions.

best regards,
Oleh

------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
Eric M. Ludlam | 3 Sep 03:43 2014

completion-at-point & semantic

I updated the completion-at-point function that Semantic installs with 3 
new simpler functions.

The previous version written by Stefan simply called 
semantic-ia-complete-symbol.  The new versions do smart completion and 
return the resultant completions back to the Emacs core completion 
engine.  That means you can now just use M-TAB, and get the stock 
completion interactions, or get your modified interactions from any 
tools that use completion-at-point-functions.

It would be great if folks who like using the -ia- function could try 
out completion-at-point with the new code and let me know how it goes. 
Based on my experiments, things will be a little bit looser (ie - if no 
smart options, then provide some dumb options), and I'm curious how 
people think about that.

Thanks
Eric

------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
zijianyue | 27 Aug 18:34 2014

code between #if #endif seems not be parsed

HI:
    As the pics below show,the code between #if #endif not be parsed.Please help!
My .emacs is in the attachment.




The version of emacs and cedet (stand alone):
----------------
GNU Emacs 24.4.50.1 (i686-pc-mingw32) of 2014-08-24 on ZIJIANYUE-PC

CEDET Version: 2.0
Requested File Loaded
Package Version Version Version
----------------------------------------------------------
cedet: 2.0 ok ok
eieio: 1.4 ok ok
semantic: 2.2 ok ok
srecode: 1.2 ok ok
ede: 1.2 2.0 2.0
cogre: 1.2 ok Not Loaded
cedet-contrib: 1.2 ok Not Loaded


C-h f cedet-version RET
for details on output format. 

zijianyue
Attachment (.emacs): application/octet-stream, 30 KiB
------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
Cedet-devel mailing list
Cedet-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cedet-devel
Eric M. Ludlam | 24 Aug 18:56 2014

EDE Locate Dominating File branch merged to trunk

I merged the ede-ldf branch into trunk today.  I've been using the 
branch for a while, and it seems to be working well.

When you next update from CEDET/bzr trunk, you will need to do a:

make clean-all

before compiling CEDET due to the large number of changes.

buildbot had a couple problems I was able to resolve but it is still 
having a little trouble I'm not sure how to resolve.

Let me know if you run into problems using the update.
Thanks
Eric

------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
Steven Rémot | 23 Aug 18:02 2014
Picon

[PATCH] Extended PHP support

Hello,

I have been working for some weeks on improving PHP support in CEDET. So 
far, I have added:

- Parsing of namespaces declarations
- Parsing of aliases declarations
- Parsing of namespaced names
- Parsing of optional type hints for function arguments
- Proper parsing of class fields and constants
- completion of tags declared in the same file (it also includes the 
special values $this, self and static)

It still lacks a lot of functionnalities, but I think I got enough 
improvements to give you this version.

I don't really know what is the preferred format for substantial 
contributions, so I sent witht this mail an archive containing the 
commit history generated by "git format-patch". It seems to be 
compatible with bazaar.

For more convenience, you can see the changes on my fork of the git 
repository :
https://bitbucket.org/stevenremot/cedet

I am at your service for any remark on my work.

All the best,
Steven Rémot
Attachment (patches-php-support.tar.bz2): application/x-bzip, 11 KiB
------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
Cedet-devel mailing list
Cedet-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cedet-devel
Xaver Gerster | 17 Aug 19:58 2014
Picon

eieio-persistent-validate/fix-slot-value: Wrong type argument: arrayp, n

Hi,

I am haunted by a:

eieio-persistent-validate/fix-slot-value: Wrong type argument: arrayp, nil

error, when trying to load a previously created project, or when trying
to load files from such projects. Currently I cannot use ede at all. In
the following I will describe a stripped down procedure how this error
occurs on my system. Any help would be most appreciated.

Regards,
Xaver

Prolog:
-------
- I'm running GNU Emacs 24.3.1 (x86_64-unknown-linux-gnu, GTK+ Version
3.10.4)

- Torso of an init.el:

(global-ede-mode 1)
(setq ede-project-directories t)

Step 1
------
- Created new empty directory 'khl'
- Started emacs in this directory
- Used ede-new to generate new Automake project
- Created single target 'mmm', type program, named 'tessi' in directory
'khl'
- Added single *.cc file 'test.cc' to target 'mmm':

int main() {
  return 0;
}

- The Project.ede files then reads:

;; Object mmm
;; EDE Project Files are auto generated: Do Not Edit
(ede-proj-project "mmm"
  :file "Project.ede"
  :name "mmm"
  :targets (list
   (ede-proj-target-makefile-program "tessi"
    :name "tessi"
    :path ""
    :source '("test.cc")
    )
   )
  :makefile-type 'Makefile.am
  )

- Compiled the project with C-c . C
- After that the directory 'khl' contains

drwxr-xr-x  4 xxxxxx users   4096 Aug 11 19:29 ./
drwxr-xr-x 89 xxxxxx users   4096 Aug 11 13:50 ../
-rw-r--r--  1 xxxxxx users  38803 Aug 11 19:26 aclocal.m4
-rw-r--r--  1 xxxxxx users     33 Aug 11 19:26 AUTHORS
drwxr-xr-x  2 xxxxxx users   4096 Aug 11 19:29 autom4te.cache/
-rw-r--r--  1 xxxxxx users      1 Aug 11 19:26 ChangeLog
-rw-r--r--  1 xxxxxx users    722 Aug 11 19:26 config.h
-rw-r--r--  1 xxxxxx users    625 Aug 11 19:26 config.h.in
-rw-r--r--  1 xxxxxx users  11523 Aug 11 19:29 config.log
-rwxr-xr-x  1 xxxxxx users  32424 Aug 11 19:29 config.status*
-rwxr-xr-x  1 xxxxxx users 133851 Aug 11 19:29 configure*
-rw-r--r--  1 xxxxxx users    479 Aug 11 19:26 configure.ac
-rw-r--r--  1 xxxxxx users  35147 Aug 11 19:26 COPYING
-rwxr-xr-x  1 xxxxxx users  23566 Aug 11 19:26 depcomp*
drwxr-xr-x  2 xxxxxx users   4096 Aug 11 19:26 .deps/
-rw-r--r--  1 xxxxxx users  15749 Aug 11 19:26 INSTALL
-rwxr-xr-x  1 xxxxxx users  13997 Aug 11 19:26 install-sh*
-rw-r--r--  1 xxxxxx users  27662 Aug 11 19:29 Makefile
-rw-r--r--  1 xxxxxx users    373 Aug 11 19:26 Makefile.am
-rw-r--r--  1 xxxxxx users  28016 Aug 11 19:29 Makefile.in
-rwxr-xr-x  1 xxxxxx users   6873 Aug 11 19:26 missing*
-rw-r--r--  1 xxxxxx users     17 Aug 11 19:26 NEWS
-rw-r--r--  1 xxxxxx users    291 Aug 11 19:25 Project.ede
-rw-r--r--  1 xxxxxx users      1 Aug 11 19:26 README
-rw-r--r--  1 xxxxxx users     30 Aug 11 19:29 stamp-h
-rw-r--r--  1 xxxxxx users     23 Aug 11 19:29 stamp-h1
-rwxr-xr-x  1 xxxxxx users  12887 Aug 11 19:26 tessi*
-rw-r--r--  1 xxxxxx users     27 Aug 11 19:26 test.cc
-rw-r--r--  1 xxxxxx users   2928 Aug 11 19:26 test.o

- The program can be run with C-c . R with no error.
- * Now I close emacs * !!

Step 2
------

- Start emacs
- Trying to load the project in 'khl' I get the error:

eieio-persistent-validate/fix-slot-value: Wrong type argument: arrayp, nil

- If I toggle the debugger: M-x toggle-debug-on-error RET
  and try to load the project in 'khl' I get

Debugger entered--Lisp error: (wrong-type-argument arrayp nil)
  child-of-class-p(ede-proj-target-makefile-program ede-target)
  eieio-persistent-validate/fix-slot-value(ede-proj-project :targets
(list (ede-proj-target-makefile-program "tessi" :name "tessi" :path ""
:source (quote ("test.cc")))))
  eieio-persistent-convert-list-to-object((ede-proj-project "mmm" :file
"Project.ede" :name "mmm" :targets (list
(ede-proj-target-makefile-program "tessi" :name "tessi" :path "" :source
(quote ("test.cc")))) :makefile-type (quote Makefile\.am)))
  eieio-persistent-read("/home/xxxxxx/projects/khl/Project.ede"
ede-proj-project)
  ede-proj-load("/home/xxxxxx/projects/khl/")
  #[(this dir) "\303#\304\"\204##\305	!\204##\306\307!\210\303#\310\"
!\211#\204 #\306\311!\210\312\n!)\207" [this dir o eieio-oref :safe-p
ede-directory-safe-p error "Attempt to load an unsafe project (bug
elsewhere in EDE)" load-type "Project type error: :load-type failed to
create a project" ede-add-project-to-global-list] 4 "Load in the project
associated with THIS project autoload description.\nTHIS project
description should be valid for DIR, where the project will\nbe
loaded."]([object ede-project-autoload "edeproject-makefile" "Make"
ede/proj "Project.ede" "" unbound nil ede-proj-load ede-proj-project nil
t nil] "/home/xxxxxx/projects/khl/")
  apply(#[(this dir) "\303#\304\"\204##\305
!\204##\306\307!\210\303#\310\"	!\211#\204 #\306\311!\210\312\n!)\207"
[this dir o eieio-oref :safe-p ede-directory-safe-p error "Attempt to
load an unsafe project (bug elsewhere in EDE)" load-type "Project type
error: :load-type failed to create a project"
ede-add-project-to-global-list] 4 "Load in the project associated with
THIS project autoload description.\nTHIS project description should be
valid for DIR, where the project will\nbe loaded."] ([object
ede-project-autoload "edeproject-makefile" "Make" ede/proj "Project.ede"
"" unbound nil ede-proj-load ede-proj-project nil t nil]
"/home/xxxxxx/projects/khl/"))
  ede-auto-load-project([object ede-project-autoload
"edeproject-makefile" "Make" ede/proj "Project.ede" "" unbound nil
ede-proj-load ede-proj-project nil t nil] "/home/xxxxxx/projects/khl/")
  ede-load-project-file("/home/xxxxxx/projects/khl")
  ede("/home/xxxxxx/projects/khl")
  call-interactively(ede nil nil)

------------------------------------------------------------------------------
Left Right | 2 Aug 22:01 2014
Picon

Why is font-lock needed for a mode based on Semantic CFG parser?

Hi list,

Please excuse me, if I'm asking something obvious, but this question
bothered me since I've red the guide for making a mode that uses
Semantic. It says that I need to handle font-lock on my own, which, as
far as I can understand uses parsing system based on regular
expressions. It feels self-defeating to have a real CFG parser with
proper syntax analysis and still rely on regular expressions for
coloring.

So, my question is: why, and if really, isn't it possible to employ
Semantic for syntax highlighting as well as completion / syntax
checking / navigation. Do I need font-lock mode for Semantic to work
(properly)? If I may guess: is this because during editing the edited
region may not be syntactically valid and it is hard / not possible /
too costly at the moment to deal with it using Semantic?

Thanks,

Oleg

------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds

Gmane