├── .bzrignore ├── .cvsignore ├── .ede-ignore ├── CEDET_STYLE_GUIDE ├── INSTALL ├── Makefile ├── Makefile.wwwinfo ├── NEWS ├── PRERELEASE_CHECKLIST ├── USING_CEDET_FROM_BZR ├── cedet-build.el ├── cedet-devel-load.el ├── cedet-ediff.el ├── cedet-emacs-merge.el ├── cedet-remove-builtin.el ├── cedet-update-changelog.el ├── cedet-update-version.el ├── contrib ├── .cvsignore ├── INSTALL ├── Makefile ├── Project.ede ├── cedet-contrib-load.el ├── cedet-contrib.el ├── eassist.el ├── ede-gnustep.el ├── semantic-ectag-scala.el ├── semantic-tag-folding.el ├── wisent-csharp.el ├── wisent-csharp.wy ├── wisent-php.el ├── wisent-php.wy ├── wisent-ruby.el └── wisent-ruby.wy ├── doc ├── ONEWS-semantic ├── OONEWS-semantic └── texi │ ├── Makefile │ ├── Project.ede │ ├── cedet.texi │ ├── cogre.texi │ ├── doclicense.texi │ ├── ede.texi │ ├── eieio.texi │ ├── semantic │ ├── .cvsignore │ ├── Makefile │ ├── Project.ede │ ├── app-dev-guide.texi │ ├── bovine.texi │ ├── fdl.texi │ ├── glossary.texi │ ├── grammar-fw-ov.dia │ ├── grammar-fw-ov.png │ ├── grammar-fw-ov.txt │ ├── grammar-fw.texi │ ├── installation.texi │ ├── internals.texi │ ├── lang-support-guide.texi │ ├── minor-modes.texi │ ├── overview.texi │ ├── semantic.texi │ ├── semanticheader.texi │ ├── tags.texi │ ├── user-guide.texi │ └── wisent.texi │ └── srecode.texi ├── etc ├── ede │ └── proj-skel.el ├── fallback-libraries │ ├── README │ └── autoload.el ├── images │ ├── cogre-arrow.xpm │ ├── cogre-class.xpm │ ├── cogre-hasa.xpm │ ├── cogre-instance.xpm │ ├── cogre-isa.xpm │ ├── cogre-link.xpm │ ├── cogre-node.xpm │ ├── cogre-note.xpm │ └── cogre-package.xpm ├── semantic │ ├── bovine │ │ ├── skel.el │ │ └── skeleton.by │ ├── db-skel.el │ ├── example.el │ └── semanticdb.sh └── srecode │ ├── Makefile │ ├── Project.ede │ ├── android-java.srt │ ├── arduino-pde.srt │ ├── c.srt │ ├── cogre-default.srt │ ├── cpp.srt │ ├── default.srt │ ├── doc-cpp.srt │ ├── doc-default.srt │ ├── doc-java.srt │ ├── ede-autoconf.srt │ ├── ede-make.srt │ ├── el.srt │ ├── getset-cpp.srt │ ├── html.srt │ ├── java.srt │ ├── make.srt │ ├── proj-test.srt │ ├── srecode-dot.srt │ ├── template.srt │ ├── test.srt │ ├── texi.srt │ └── wisent.srt ├── gettodos.sh ├── lisp ├── Makefile ├── Project.ede ├── cedet │ ├── Makefile │ ├── Project.ede │ ├── cedet-android.el │ ├── cedet-compat.el │ ├── cedet-cscope.el │ ├── cedet-edebug.el │ ├── cedet-files.el │ ├── cedet-global.el │ ├── cedet-graphviz.el │ ├── cedet-idutils.el │ ├── cedet-java.el │ ├── cedet-m3.el │ ├── cedet.el │ ├── cogre.el │ ├── cogre │ │ ├── Makefile │ │ ├── Project.ede │ │ ├── ascii.el │ │ ├── convert.el │ │ ├── dot-mode.el │ │ ├── layout.el │ │ ├── mode.el │ │ ├── periodic.el │ │ ├── picture-hack.el │ │ ├── semantic.el │ │ ├── srecode.el │ │ ├── test.dot │ │ ├── uml.el │ │ ├── wisent-dot.el │ │ └── wisent-dot.wy │ ├── data-debug.el │ ├── ede.el │ ├── ede │ │ ├── Makefile │ │ ├── Project.ede │ │ ├── android.el │ │ ├── ant.el │ │ ├── arduino.el │ │ ├── auto.el │ │ ├── autoconf-edit.el │ │ ├── base.el │ │ ├── cpp-root.el │ │ ├── custom.el │ │ ├── dired.el │ │ ├── emacs.el │ │ ├── files.el │ │ ├── generic.el │ │ ├── java-root.el │ │ ├── jvm-base.el │ │ ├── lein2.el │ │ ├── linux.el │ │ ├── locate.el │ │ ├── m3.el │ │ ├── make.el │ │ ├── makefile-edit.el │ │ ├── maven2.el │ │ ├── pconf.el │ │ ├── pmake.el │ │ ├── proj-archive.el │ │ ├── proj-aux.el │ │ ├── proj-comp.el │ │ ├── proj-elisp.el │ │ ├── proj-info.el │ │ ├── proj-misc.el │ │ ├── proj-obj.el │ │ ├── proj-prog.el │ │ ├── proj-scheme.el │ │ ├── proj-shared.el │ │ ├── proj.el │ │ ├── project-am.el │ │ ├── shell.el │ │ ├── source.el │ │ ├── speedbar.el │ │ ├── srecode.el │ │ ├── system.el │ │ └── util.el │ ├── fame.el │ ├── inversion.el │ ├── mode-local.el │ ├── pprint.el │ ├── pulse.el │ ├── semantic.el │ ├── semantic │ │ ├── Makefile │ │ ├── Project.ede │ │ ├── adebug.el │ │ ├── analyze.el │ │ ├── analyze │ │ │ ├── Makefile │ │ │ ├── Project.ede │ │ │ ├── complete.el │ │ │ ├── debug.el │ │ │ ├── fcn.el │ │ │ └── refs.el │ │ ├── ast.el │ │ ├── bovine.el │ │ ├── bovine │ │ │ ├── Makefile │ │ │ ├── Project.ede │ │ │ ├── c.by │ │ │ ├── c.el │ │ │ ├── clang.el │ │ │ ├── debug.el │ │ │ ├── el.el │ │ │ ├── erlang.by │ │ │ ├── erlang.el │ │ │ ├── f90.by │ │ │ ├── f90.el │ │ │ ├── gcc.el │ │ │ ├── grammar-macros.el │ │ │ ├── grammar.el │ │ │ ├── make.by │ │ │ ├── make.el │ │ │ ├── scm.by │ │ │ └── scm.el │ │ ├── canned-configs.el │ │ ├── chart.el │ │ ├── complete.el │ │ ├── ctxt.el │ │ ├── custom.el │ │ ├── db-cscope.el │ │ ├── db-debug.el │ │ ├── db-ebrowse.el │ │ ├── db-el.el │ │ ├── db-file.el │ │ ├── db-find.el │ │ ├── db-global.el │ │ ├── db-javap.el │ │ ├── db-javascript.el │ │ ├── db-mk.el │ │ ├── db-mode.el │ │ ├── db-mozrepl.el │ │ ├── db-ref.el │ │ ├── db-search.el │ │ ├── db-typecache.el │ │ ├── db.el │ │ ├── debug.el │ │ ├── decorate.el │ │ ├── decorate │ │ │ ├── Makefile │ │ │ ├── Project.ede │ │ │ ├── include.el │ │ │ └── mode.el │ │ ├── dep.el │ │ ├── doc.el │ │ ├── ectags │ │ │ ├── Makefile │ │ │ ├── Project.ede │ │ │ ├── db.el │ │ │ ├── lang.el │ │ │ ├── lang2.el │ │ │ ├── parse.el │ │ │ └── util.el │ │ ├── ede-grammar.el │ │ ├── edit.el │ │ ├── elp.el │ │ ├── find.el │ │ ├── format.el │ │ ├── fw.el │ │ ├── gram-wy-fallback.el │ │ ├── grammar.el │ │ ├── grammar.wy │ │ ├── html.el │ │ ├── ia-sb.el │ │ ├── ia.el │ │ ├── idle.el │ │ ├── imenu.el │ │ ├── java.el │ │ ├── lex-spp.el │ │ ├── lex.el │ │ ├── m3.el │ │ ├── mru-bookmark.el │ │ ├── sb.el │ │ ├── scope.el │ │ ├── senator.el │ │ ├── sort.el │ │ ├── symref.el │ │ ├── symref │ │ │ ├── Makefile │ │ │ ├── Project.ede │ │ │ ├── cscope.el │ │ │ ├── filter.el │ │ │ ├── global.el │ │ │ ├── grep.el │ │ │ ├── idutils.el │ │ │ └── list.el │ │ ├── tag-file.el │ │ ├── tag-ls.el │ │ ├── tag-write.el │ │ ├── tag.el │ │ ├── texi.el │ │ ├── util-modes.el │ │ ├── util.el │ │ ├── wisent.el │ │ └── wisent │ │ │ ├── Makefile │ │ │ ├── Project.ede │ │ │ ├── bison-wisent.el │ │ │ ├── calc.el │ │ │ ├── calc.wy │ │ │ ├── comp.el │ │ │ ├── debug.el │ │ │ ├── expr.el │ │ │ ├── grammar-macros.el │ │ │ ├── grammar.el │ │ │ ├── java-tags.el │ │ │ ├── java-tags.wy │ │ │ ├── java.el │ │ │ ├── java.wy │ │ │ ├── javascript.el │ │ │ ├── javascript.wy │ │ │ ├── python.el │ │ │ ├── python.wy │ │ │ └── wisent.el │ ├── srecode.el │ ├── srecode │ │ ├── Makefile │ │ ├── Project.ede │ │ ├── android.el │ │ ├── args.el │ │ ├── compile.el │ │ ├── cpp.el │ │ ├── ctxt.el │ │ ├── dictionary.el │ │ ├── document.el │ │ ├── el.el │ │ ├── expandproto.el │ │ ├── extract.el │ │ ├── fields.el │ │ ├── filters.el │ │ ├── find.el │ │ ├── getset.el │ │ ├── insert.el │ │ ├── java.el │ │ ├── m3.el │ │ ├── map.el │ │ ├── mode.el │ │ ├── semantic.el │ │ ├── srt-mode.el │ │ ├── srt.el │ │ ├── srt.wy │ │ ├── table.el │ │ ├── template.el │ │ └── texi.el │ └── working.el ├── eieio │ ├── Makefile │ ├── Project.ede │ ├── chart.el │ ├── eieio-base.el │ ├── eieio-core.el │ ├── eieio-custom.el │ ├── eieio-datadebug.el │ ├── eieio-opt.el │ ├── eieio-speedbar.el │ └── eieio.el └── speedbar │ ├── Makefile │ ├── Project.ede │ ├── README │ ├── rpm.el │ ├── sb-ant.el │ ├── sb-html.el │ ├── sb-info.el │ ├── sb-rmail.el │ └── sb-texinfo.el ├── obsolete ├── doc │ ├── semantic │ │ └── C99-gram.texi │ └── speedbar.texi ├── etc │ └── images │ │ └── ezimage │ │ ├── bits.xpm │ │ ├── bitsbang.xpm │ │ ├── box-minus.xpm │ │ ├── box-plus.xpm │ │ ├── box.xpm │ │ ├── checkmark.xpm │ │ ├── dir-minus.xpm │ │ ├── dir-plus.xpm │ │ ├── dir.xpm │ │ ├── doc-minus.xpm │ │ ├── doc-plus.xpm │ │ ├── doc.xpm │ │ ├── info.xpm │ │ ├── key.xpm │ │ ├── label.xpm │ │ ├── lock.xpm │ │ ├── mail.xpm │ │ ├── page-minus.xpm │ │ ├── page-plus.xpm │ │ ├── page.xpm │ │ ├── tag-gt.xpm │ │ ├── tag-minus.xpm │ │ ├── tag-plus.xpm │ │ ├── tag-type.xpm │ │ ├── tag-v.xpm │ │ ├── tag.xpm │ │ └── unlock.xpm └── lisp │ ├── cedet │ ├── cedet-autogen.el │ ├── ede │ │ └── autoconf-compat.el │ └── semantic │ │ ├── bovine │ │ └── erlang-edoc.el │ │ ├── db-java.el │ │ ├── db-system.el │ │ ├── fold.el │ │ ├── inc.el │ │ ├── semanticdb-java.clj │ │ └── wisent │ │ ├── awk.wy │ │ ├── c.el │ │ ├── c.wy │ │ └── cim.wy │ ├── eieio │ ├── call-tree.el │ ├── eieio-comp.el │ ├── eieio-doc.el │ ├── eieio-xml.el │ ├── eieiocomp.el │ ├── linemark.el │ ├── lmcompile.el │ ├── psql.el │ └── tree.el │ ├── ezimage │ └── ezimage.el │ └── speedbar │ ├── bigclock.el │ ├── dframe.el │ ├── fsum.el │ ├── sb-gud.el │ ├── sb-image.el │ ├── sb-w3.el │ └── speedbar.el ├── testdist.sh ├── testprojects └── README └── tests ├── .cvsignore ├── Makefile ├── Project.ede ├── README ├── cedet-files-utests.el ├── cedet-integ-test.el ├── cedet-utests.el ├── cedet-uutil.el ├── cedet ├── cogre │ ├── Makefile │ ├── convert-utest.el │ ├── periodic-utest.el │ ├── testclasses.hh │ └── utest.el ├── ede │ ├── detect-utest.el │ ├── locate.el │ └── src │ │ ├── android │ │ ├── AndroidManifest.xml │ │ └── src │ │ │ └── test.java │ │ ├── automake │ │ └── Makefile.am │ │ ├── emacs │ │ ├── Makefile │ │ ├── configure.in │ │ └── src │ │ │ ├── config.h │ │ │ ├── emacs.c │ │ │ └── lisp.h │ │ ├── linux │ │ ├── Makefile │ │ └── scripts │ │ │ └── ver_linux │ │ └── proj │ │ ├── Project.ede │ │ └── TEST ├── semantic │ ├── complete.el │ ├── db-ebrowse.el │ ├── db-find.el │ ├── db-global.el │ ├── find.el │ ├── fmt-utest.el │ ├── format.el │ ├── gcc-utest.el │ ├── ia-utest.el │ ├── idle.el │ ├── lex-spp-utest.el │ ├── lex-utest.el │ ├── regtest.el │ ├── stltest.el │ ├── tag-write.el │ ├── tests │ │ ├── Makefile │ │ ├── Project.ede │ │ ├── gr-test.wy │ │ ├── maven2-testproject │ │ │ ├── README │ │ │ └── rootproject │ │ │ │ ├── child1project │ │ │ │ ├── pom.xml │ │ │ │ └── src │ │ │ │ │ ├── main │ │ │ │ │ └── java │ │ │ │ │ │ └── cedet │ │ │ │ │ │ └── test │ │ │ │ │ │ └── child1project │ │ │ │ │ │ └── App.java │ │ │ │ │ └── test │ │ │ │ │ └── java │ │ │ │ │ └── cedet │ │ │ │ │ └── test │ │ │ │ │ └── child1project │ │ │ │ │ └── AppTest.java │ │ │ │ ├── child2project │ │ │ │ ├── pom.xml │ │ │ │ └── src │ │ │ │ │ ├── main │ │ │ │ │ └── java │ │ │ │ │ │ └── cedet │ │ │ │ │ │ └── test │ │ │ │ │ │ └── child2project │ │ │ │ │ │ └── App.java │ │ │ │ │ └── test │ │ │ │ │ └── java │ │ │ │ │ └── cedet │ │ │ │ │ └── test │ │ │ │ │ └── child2project │ │ │ │ │ └── AppTest.java │ │ │ │ └── pom.xml │ │ ├── scopetest.cpp │ │ ├── scopetest.java │ │ ├── templates.cpp │ │ ├── test-fmt.cpp │ │ ├── test-fmt.el │ │ ├── test.c │ │ ├── test.cpp │ │ ├── test.el │ │ ├── test.make │ │ ├── test.py │ │ ├── testdoublens.cpp │ │ ├── testdoublens.hpp │ │ ├── testf90.f90 │ │ ├── testfriends.cpp │ │ ├── testjavacomp.java │ │ ├── testlocalvars.cpp │ │ ├── testmodule.f90 │ │ ├── testnsp.cpp │ │ ├── testpolymorph.cpp │ │ ├── testspp.c │ │ ├── testsppcomplete.c │ │ ├── testsppcond.cpp │ │ ├── testsppreplace.c │ │ ├── testsppreplaced.c │ │ ├── teststruct.cpp │ │ ├── testsubclass.cpp │ │ ├── testsubclass.hh │ │ ├── testtemplates.cpp │ │ ├── testtypedefs.cpp │ │ ├── testusing.cpp │ │ ├── testusing.hh │ │ ├── testvarnames.c │ │ └── testvarnames.java │ ├── utest-c.el │ ├── utest-fw.el │ └── utest-parse.el └── srecode │ ├── document.el │ ├── fields-utest.el │ ├── test-getset.el │ └── test.el ├── cit-android.el ├── cit-arduino.el ├── cit-cpp.el ├── cit-cpproot.el ├── cit-dist.el ├── cit-el.el ├── cit-externaldb.el ├── cit-extra-cpp.srt ├── cit-globalref.el ├── cit-gnustep.el ├── cit-javaroot.el ├── cit-load.el ├── cit-proj-cpp.srt ├── cit-projvar.el ├── cit-srec.el ├── cit-symref.el ├── cit-test.sh ├── cit-texi.el ├── cit-uml.cgr ├── cit-uml.el ├── eieio ├── eieio-perftest.el ├── eieio-test-methodinvoke.el ├── eieio-test-mro.el ├── eieio-test-persist.el └── eieio-tests.el ├── integ_src ├── cpproot │ ├── main.cpp │ ├── projinc │ │ └── projincmacros.h │ ├── sppmacros.h │ └── test.h ├── fauxsyslib │ ├── README │ ├── TestSys.jar │ ├── cpprootsys.h │ └── java │ │ └── syslib │ │ ├── Makefile │ │ └── TestSysJar.java ├── globalref │ ├── README │ ├── inc │ │ ├── Manager.hh │ │ └── Util.hh │ ├── src │ │ ├── Manager.cc │ │ └── Util.cc │ └── test │ │ ├── ManagerTest.cc │ │ └── ManagerTest.hh └── javaroot │ ├── TestLib.java │ ├── TestMain.java │ ├── projjar │ └── TestProj.jar │ ├── src │ └── testproj │ │ ├── Makefile │ │ └── TestInJar.java │ └── test │ └── TestTest.java ├── inversion-utest.el └── pulse-utest.el /.bzrignore: -------------------------------------------------------------------------------- 1 | cedet-1.*/ 2 | contrib/wisent-*-wy.el 3 | lisp/cedet/semantic/grammar-wy.el 4 | lisp/cedet/semantic/bovine/*-by.el 5 | lisp/cedet/semantic/wisent/*-wy.el 6 | lisp/cedet/srecode/srt-wy.el 7 | lisp/cedet/cogre/wisent-dot-wy.el 8 | *.info 9 | *.elc 10 | loaddefs.el 11 | *-ps*.pt 12 | ChangeLog 13 | test-p.el 14 | tests/cedet/cogre/Subclass.dot 15 | doc/info/dir 16 | *-compile-script 17 | *-make-script 18 | *-loaddefs.el 19 | *.class -------------------------------------------------------------------------------- /.cvsignore: -------------------------------------------------------------------------------- 1 | *.tar.gz -------------------------------------------------------------------------------- /.ede-ignore: -------------------------------------------------------------------------------- 1 | EDE should never select this directory as a project root. -------------------------------------------------------------------------------- /Makefile.wwwinfo: -------------------------------------------------------------------------------- 1 | # Makefile for creating HTML documentation for CEDET project. 2 | # 3 | 4 | DEST=~/cedet/htdocs/info 5 | DIR=$(shell pwd) 6 | VPATH= eieio speedbar semantic/doc ede cogre 7 | 8 | all: $(DEST)/eieio.html \ 9 | $(DEST)/speedbar.html \ 10 | $(DEST)/semantic.html \ 11 | $(DEST)/ede.html \ 12 | $(DEST)/cogre.html 13 | 14 | 15 | $(DEST)/%.html: %.texi 16 | cd $(DEST) ; \ 17 | makeinfo --html -I $(dir $(DIR)/$<) -o $@ $(DIR)/$< 18 | 19 | #end -------------------------------------------------------------------------------- /contrib/.cvsignore: -------------------------------------------------------------------------------- 1 | *-compile-script 2 | contrib-loaddefs.el 3 | *-make-script 4 | wisent-csharp-wy.el 5 | wisent-php-wy.el 6 | wisent-ruby-wy.el 7 | -------------------------------------------------------------------------------- /contrib/INSTALL: -------------------------------------------------------------------------------- 1 | Installation Instruction for the CONTRIB directory 2 | 3 | This is a list of the different contributed tools that work with CEDET 4 | and what they do, and any specific install instructions needed to use them. 5 | 6 | These instructions assume that you are using the default CEDET install 7 | methods which will set up most aspects of these contributed files 8 | automatically. 9 | 10 | -------------------- 11 | eassist.el: 12 | Written by Anton V. Belyaev 13 | Provides a fancy way to navigate to tags similar to VisualAssist. 14 | 15 | To use, add something like this to your .emacs file: 16 | 17 | (defun my-c-mode-common-hook () 18 | (define-key c-mode-base-map (kbd "M-o") 'eassist-switch-h-cpp) 19 | (define-key c-mode-base-map (kbd "M-m") 'eassist-list-methods)) 20 | (add-hook 'c-mode-common-hook 'my-c-mode-common-hook) 21 | 22 | To check out how it works, do the following: 23 | 24 | 1) Open any C++ file with class definithion, press M-m. Try to type 25 | any method name. 26 | 27 | 2) Open any .cpp file. Press M-o. If there is .h or .hpp file in the 28 | same folder, it will be opened. 29 | 30 | semantic-tag-folding.el: 31 | Written by Suraj Acharya 32 | Provides a fancy folding mode that takes advantage of the latest 33 | features of GNU/Emacs 22.1 (CVS only at the time of this writing.) 34 | 35 | Add this to your .emacs file to use: 36 | (global-semantic-tag-folding-mode 1) 37 | 38 | wisent-csharp.wy: 39 | wisent-csharp.el: 40 | Written by David Shilvock 41 | Provides csharp semantic parsing. Loads automatically if you use 42 | csharp-mode. 43 | 44 | wisent-javascript-jv.wy 45 | wisent-javascript.el 46 | Written by Eric Ludlam, Joakim Verona. 47 | JAVE (of which this is based) Alex Walker 48 | Provides javascript parsing in javascript-mode, or ecmascript-mode. 49 | Automatically loads when you use those modes. -------------------------------------------------------------------------------- /contrib/Project.ede: -------------------------------------------------------------------------------- 1 | ;; Object Contrib 2 | ;; EDE Project Files are auto generated: Do Not Edit 3 | (ede-proj-project "Contrib" 4 | :file "Project.ede" 5 | :name "Contrib" 6 | :version "1.1" 7 | :targets (list 8 | (ede-proj-target-aux "misc" 9 | :name "misc" 10 | :path "" 11 | :source '("ChangeLog") 12 | ) 13 | (ede-proj-target-elisp-autoloads "autoloads" 14 | :name "autoloads" 15 | :path "" 16 | :autoload-file "contrib-loaddefs.el" 17 | ) 18 | (ede-proj-target-elisp "init" 19 | :name "init" 20 | :path "" 21 | :source '("cedet-contrib-load.el") 22 | ) 23 | (ede-proj-target-elisp "setup" 24 | :name "setup" 25 | :path "" 26 | :source '("cedet-contrib.el") 27 | :versionsource '("cedet-contrib.el") 28 | :aux-packages '("cedet-devel-load" "cedet-compat" "semantic") 29 | ) 30 | (semantic-ede-proj-target-grammar "wy" 31 | :name "wy" 32 | :path "" 33 | :source '("wisent-csharp.wy" "wisent-ruby.wy" "wisent-php.wy") 34 | :aux-packages '("cedet-devel-load" "semantic" "cedet-compat") 35 | :pre-load-packages '("cedet-devel-load" "cedet-compat" "semantic/grammar" "semantic/bovine/grammar" "semantic/wisent/grammar") 36 | ) 37 | (ede-proj-target-elisp "lisp" 38 | :name "lisp" 39 | :path "" 40 | :source '("wisent-csharp.el" "semantic-tag-folding.el" "eassist.el" "wisent-ruby.el" "wisent-php.el" "ede-gnustep.el" "semantic-ectag-scala.el") 41 | :aux-packages '("cedet-devel-load" "cedet-contrib-load") 42 | ) 43 | ) 44 | :variables '(("EMACSFLAGS" . "-batch --no-site-file --eval '(setq debug-on-error t)' -l \"../cedet-remove-builtin.el\"") ("EMACS" . "@echo \" > $@\";emacs") ("AUTOGENFLAGS" . "-L ../lisp/cedet --eval '(progn (require (quote cedet-compat)) (require (quote mode-local)))'")) 45 | :configuration-variables 'nil 46 | :metasubproject 't 47 | ) 48 | -------------------------------------------------------------------------------- /contrib/cedet-contrib-load.el: -------------------------------------------------------------------------------- 1 | ;;; cedet-contrib-load.el --- Autoload definitions for cedet contrib 2 | 3 | ;;; Copyright (C) 2004, 2012, 2013 Eric Ludlam 4 | 5 | ;; Author: Eric Ludlam 6 | 7 | ;; CEDET is free software; you can redistribute it and/or modify 8 | ;; it under the terms of the GNU General Public License as published by 9 | ;; the Free Software Foundation; either version 2, or (at your option) 10 | ;; any later version. 11 | 12 | ;; This software is distributed in the hope that it will be useful, 13 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | ;; GNU General Public License for more details. 16 | 17 | ;; You should have received a copy of the GNU General Public License 18 | ;; along with GNU Emacs; see the file COPYING. If not, write to the 19 | ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 20 | ;; Boston, MA 02110-1301, USA. 21 | 22 | ;;; Commentary: 23 | ;; 24 | ;; Initialize CEDET's contributed libraries for all supported 25 | ;; conditions. 26 | 27 | ;;; Code: 28 | ;; 29 | 30 | ;;; Contrib autoloads 31 | ;; 32 | (unless (featurep 'cedet-devel-load) 33 | (error "CEDET must be loaded to use CEDET's contrib utilities.")) 34 | 35 | ;; This file must be in the same directory as all the files that 36 | ;; it is preparing for use. 37 | (let ((CEDETCONTRIBDIR (file-name-directory 38 | (or load-file-name (buffer-file-name))))) 39 | 40 | (add-to-list 'load-path CEDETCONTRIBDIR) 41 | 42 | (message "Installing CEDET contrib packages in %s" CEDETCONTRIBDIR) 43 | 44 | ) 45 | 46 | (load "contrib-loaddefs" nil t) 47 | 48 | (provide 'cedet-contrib-load) 49 | 50 | ;;; cedet-contrib-load.el ends here 51 | -------------------------------------------------------------------------------- /contrib/cedet-contrib.el: -------------------------------------------------------------------------------- 1 | ;;; cedet-contrib.el --- Setup CEDET's contrib environment 2 | 3 | ;;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013 Eric Ludlam 4 | 5 | ;; Author: Eric Ludlam 6 | 7 | (defvar cedet-contrib-version "1.2" 8 | "Current version of contributed libraries.") 9 | 10 | ;; CEDET is free software; you can redistribute it and/or modify 11 | ;; it under the terms of the GNU General Public License as published by 12 | ;; the Free Software Foundation; either version 2, or (at your option) 13 | ;; any later version. 14 | 15 | ;; This software is distributed in the hope that it will be useful, 16 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | ;; GNU General Public License for more details. 19 | 20 | ;; You should have received a copy of the GNU General Public License 21 | ;; along with GNU Emacs; see the file COPYING. If not, write to the 22 | ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 23 | ;; Boston, MA 02110-1301, USA. 24 | 25 | ;;; Commentary: 26 | ;; 27 | ;; Setup environment of CEDET's contributed libraries. 28 | 29 | ;;; Code: 30 | ;; 31 | 32 | (provide 'cedet-contrib) 33 | 34 | ;;; cedet-contrib.el ends here 35 | -------------------------------------------------------------------------------- /doc/texi/Makefile: -------------------------------------------------------------------------------- 1 | # Automatically Generated Makefile by EDE. 2 | # For use with: make 3 | # Relative File Name: Makefile 4 | # 5 | # DO NOT MODIFY THIS FILE OR YOUR CHANGES MAY BE LOST. 6 | # EDE is the Emacs Development Environment. 7 | # http://cedet.sourceforge.net/ede.shtml 8 | # 9 | 10 | top="$(CURDIR)"/ 11 | ede_FILES=Project.ede Makefile 12 | 13 | CEDET-overview_TEXINFOS=cedet.texi 14 | MAKEINFO=makeinfo 15 | cogre-doc_TEXINFOS=cogre.texi 16 | ede-doc_TEXINFOS=ede.texi 17 | srecode-doc_TEXINFOS=srecode.texi 18 | eieio-doc_TEXINFOS=eieio.texi 19 | VERSION=1.0 20 | DISTDIR=$(top)CEDET-doc-$(VERSION) 21 | 22 | 23 | 24 | all: cedet.info cogre.info ede.info srecode.info eieio.info semantic-doc 25 | 26 | cedet.info: $(CEDET-overview_TEXINFOS) 27 | $(MAKEINFO) $< 28 | 29 | cogre.info: $(cogre-doc_TEXINFOS) 30 | $(MAKEINFO) $< 31 | 32 | ede.info: $(ede-doc_TEXINFOS) 33 | $(MAKEINFO) $< 34 | 35 | srecode.info: $(srecode-doc_TEXINFOS) 36 | $(MAKEINFO) $< 37 | 38 | eieio.info: $(eieio-doc_TEXINFOS) 39 | $(MAKEINFO) $< 40 | 41 | .PHONY:semantic-doc 42 | semantic-doc: 43 | $(MAKE) -C semantic 44 | 45 | tags: 46 | $(MAKE) -C semantic/ $(MFLAGS) $@ 47 | 48 | 49 | clean: 50 | rm -f *.html *.info* 51 | 52 | .PHONY: dist 53 | 54 | dist: cedet.info cogre.info ede.info srecode.info eieio.info 55 | rm -rf $(DISTDIR) 56 | mkdir $(DISTDIR) 57 | cp $(CEDET-overview_TEXINFOS) cedet.info* $(cogre-doc_TEXINFOS) cogre.info* $(ede-doc_TEXINFOS) ede.info* $(srecode-doc_TEXINFOS) srecode.info* $(eieio-doc_TEXINFOS) eieio.info* $(ede_FILES) $(DISTDIR) 58 | $(MAKE) -C semantic $(MFLAGS) DISTDIR=$(DISTDIR)/semantic dist 59 | tar -cvzf $(DISTDIR).tar.gz $(DISTDIR) 60 | rm -rf $(DISTDIR) 61 | 62 | Makefile: Project.ede 63 | @echo Makefile is out of date! It needs to be regenerated by EDE. 64 | @echo If you have not modified Project.ede, you can use 'touch' to update the Makefile time stamp. 65 | @false 66 | 67 | 68 | 69 | # End of Makefile 70 | -------------------------------------------------------------------------------- /doc/texi/Project.ede: -------------------------------------------------------------------------------- 1 | ;; Object ede-proj-project 2 | ;; EDE project file. 3 | (ede-proj-project "CEDET Documentation" 4 | :name "CEDET-doc" 5 | :file "Project.ede" 6 | :targets (list 7 | (ede-proj-target-makefile-info "CEDET-overview" 8 | :name "CEDET-overview" 9 | :path "" 10 | :source '("cedet.texi") 11 | ) 12 | (ede-proj-target-makefile-info "cogre-doc" 13 | :name "cogre-doc" 14 | :path "" 15 | :source '("cogre.texi") 16 | ) 17 | (ede-proj-target-makefile-info "ede-doc" 18 | :name "ede-doc" 19 | :path "" 20 | :source '("ede.texi") 21 | ) 22 | (ede-proj-target-makefile-info "srecode-doc" 23 | :name "srecode-doc" 24 | :path "" 25 | :source '("srecode.texi") 26 | ) 27 | (ede-proj-target-makefile-info "eieio-doc" 28 | :name "eieio-doc" 29 | :path "" 30 | :source '("eieio.texi") 31 | ) 32 | ) 33 | ) 34 | -------------------------------------------------------------------------------- /doc/texi/semantic/.cvsignore: -------------------------------------------------------------------------------- 1 | *.info -------------------------------------------------------------------------------- /doc/texi/semantic/Makefile: -------------------------------------------------------------------------------- 1 | # Automatically Generated Makefile by EDE. 2 | # For use with: make 3 | # Relative File Name: semantic/Makefile 4 | # 5 | # DO NOT MODIFY THIS FILE OR YOUR CHANGES MAY BE LOST. 6 | # EDE is the Emacs Development Environment. 7 | # http://cedet.sourceforge.net/ede.shtml 8 | # 9 | 10 | top=../ 11 | ede_FILES=Project.ede Makefile 12 | 13 | images_MISC=grammar-fw-ov.png grammar-fw-ov.txt 14 | semantic-grammar_TEXINFOS=grammar-fw.texi 15 | MAKEINFO=makeinfo 16 | Documentation_TEXINFOS=semantic.texi glossary.texi overview.texi installation.texi fdl.texi internals.texi semanticheader.texi 17 | semantic-user_info_TEXINFOS=user-guide.texi minor-modes.texi 18 | semantic-appdev_info_TEXINFOS=app-dev-guide.texi tags.texi 19 | semantic-langdev_info_TEXINFOS=lang-support-guide.texi 20 | bovine_info_TEXINFOS=bovine.texi 21 | wisent_info_TEXINFOS=wisent.texi 22 | VERSION=1.0 23 | DISTDIR=$(top)CEDET-doc-$(VERSION)/semantic 24 | 25 | 26 | 27 | all: images grammar-fw.info semantic.info semantic-user.info semantic-appdev.info semantic-langdev.info bovine.info wisent.info 28 | 29 | images: 30 | @ 31 | 32 | grammar-fw.info: $(semantic-grammar_TEXINFOS) 33 | $(MAKEINFO) $< 34 | 35 | semantic.info: $(Documentation_TEXINFOS) 36 | $(MAKEINFO) $< 37 | 38 | semantic-user.info: $(semantic-user_info_TEXINFOS) 39 | $(MAKEINFO) $< 40 | 41 | semantic-appdev.info: $(semantic-appdev_info_TEXINFOS) 42 | $(MAKEINFO) $< 43 | 44 | semantic-langdev.info: $(semantic-langdev_info_TEXINFOS) 45 | $(MAKEINFO) $< 46 | 47 | bovine.info: $(bovine_info_TEXINFOS) 48 | $(MAKEINFO) $< 49 | 50 | wisent.info: $(wisent_info_TEXINFOS) 51 | $(MAKEINFO) $< 52 | 53 | tags: 54 | 55 | 56 | clean: 57 | rm -f *.html *.info* 58 | 59 | .PHONY: dist 60 | 61 | dist: grammar-fw.info semantic.info semantic-user.info semantic-appdev.info semantic-langdev.info bovine.info wisent.info 62 | mkdir $(DISTDIR) 63 | cp $(images_MISC) $(semantic-grammar_TEXINFOS) grammar-fw.info* $(Documentation_TEXINFOS) semantic.info* $(semantic-user_info_TEXINFOS) semantic-user.info* $(semantic-appdev_info_TEXINFOS) semantic-appdev.info* $(semantic-langdev_info_TEXINFOS) semantic-langdev.info* $(bovine_info_TEXINFOS) bovine.info* $(wisent_info_TEXINFOS) wisent.info* $(ede_FILES) $(DISTDIR) 64 | 65 | Makefile: Project.ede 66 | @echo Makefile is out of date! It needs to be regenerated by EDE. 67 | @echo If you have not modified Project.ede, you can use 'touch' to update the Makefile time stamp. 68 | @false 69 | 70 | 71 | 72 | # End of Makefile 73 | -------------------------------------------------------------------------------- /doc/texi/semantic/Project.ede: -------------------------------------------------------------------------------- 1 | ;; Object ede-proj-project 2 | ;; EDE project file. 3 | (ede-proj-project "Semantic Documentation" 4 | :name "semantic-doc" 5 | :file "Project.ede" 6 | :targets (list 7 | (ede-proj-target-makefile-miscelaneous "images" 8 | :name "images" 9 | :path "" 10 | :source '("grammar-fw-ov.png" "grammar-fw-ov.txt") 11 | ) 12 | (ede-proj-target-makefile-info "semantic-grammar" 13 | :name "semantic-grammar" 14 | :path "" 15 | :source '("grammar-fw.texi") 16 | ) 17 | (ede-proj-target-makefile-info "Documentation" 18 | :name "Documentation" 19 | :path "" 20 | :source '("semantic.texi" "glossary.texi" "overview.texi" "installation.texi" "fdl.texi" "internals.texi" "semanticheader.texi") 21 | :mainmenu "semantic.texi" 22 | ) 23 | (ede-proj-target-makefile-info "semantic-user.info" 24 | :name "semantic-user.info" 25 | :path "" 26 | :source '("user-guide.texi" "minor-modes.texi") 27 | ) 28 | (ede-proj-target-makefile-info "semantic-appdev" 29 | :name "semantic-appdev.info" 30 | :path "" 31 | :source '("app-dev-guide.texi" "tags.texi") 32 | ) 33 | (ede-proj-target-makefile-info "semantic-lagdev.info" 34 | :name "semantic-langdev.info" 35 | :path "" 36 | :source '("lang-support-guide.texi") 37 | ) 38 | (ede-proj-target-makefile-info "bovine.info" 39 | :name "bovine.info" 40 | :path "" 41 | :source '("bovine.texi") 42 | ) 43 | (ede-proj-target-makefile-info "wisent.info" 44 | :name "wisent.info" 45 | :path "" 46 | :source '("wisent.texi") 47 | ) 48 | ) 49 | ) 50 | -------------------------------------------------------------------------------- /doc/texi/semantic/glossary.texi: -------------------------------------------------------------------------------- 1 | @ignore 2 | @node Glossary 3 | @chapter Glossary 4 | @c This 'ignore' section fools texinfo-all-menus-update into creating 5 | @c proper menus for this chapter. 6 | @end ignore 7 | 8 | @table @asis 9 | @kwItem{BNF} 10 | In semantic 1.4, a BNF file represented ``Bovine Normal Form'', the 11 | grammar file used for the 1.4 parser generator. This was a play on 12 | Backus-Naur Form which proved too confusing. 13 | 14 | @kwItem{bovinate} 15 | A verb representing what happens when a bovine parser parses a file. 16 | 17 | @kwItem{bovine lambda} 18 | In a bovine, or LL parser, the bovine lambda is a function to execute 19 | when a specific set of match rules has succeeded in matching text from 20 | the buffer. 21 | 22 | @kwItem{bovine parser} 23 | A parser using the bovine parser generator. It is an LL parser 24 | suitible for small simple languages. 25 | 26 | @kwItem{context} 27 | 28 | @kwItem{LALR} 29 | 30 | @kwItem{lexer} 31 | A program which converts text into a stream of tokens by analyzing 32 | them lexically. Lexers will commonly create strings, symbols, 33 | keywords and punctuation, and strip whitespaces and comments. 34 | 35 | @kwItem{LL} 36 | 37 | @kwItem{nonterminal} 38 | A nonterminal symbol or simply a nonterminal stands for a class of 39 | syntactically equivalent groupings. A nonterminal symbol name is used 40 | in writing grammar rules. 41 | 42 | @kwItem{overloadable} 43 | Some functions are defined via @code{define-overload}. 44 | These can be overloaded via .... 45 | 46 | @kwItem{parser} 47 | A program that converts @b{tokens} to @b{tags}. 48 | 49 | @kwItem{tag} 50 | A tag is a representation of some entity in a language file, such as a 51 | function, variable, or include statement. In semantic, the word tag is 52 | used the same way it is used for the etags or ctags tools. 53 | 54 | A tag is usually bound to a buffer region via overlay, or it just 55 | specifies character locations in a file. 56 | 57 | @kwItem{token} 58 | A single atomic item returned from a lexer. It represents some set 59 | of characters found in a buffer. 60 | 61 | @kwItem{token stream} 62 | The output of the lexer as well as the input to the parser. 63 | 64 | @kwItem{wisent parser} 65 | A parser using the wisent parser generator. It is a port of bison to 66 | Emacs Lisp. It is an LALR parser suitable for complex languages. 67 | 68 | @end table 69 | -------------------------------------------------------------------------------- /doc/texi/semantic/grammar-fw-ov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexott/cedet/f7403518b88a60dcd5aea4d2d0deafcce4856b43/doc/texi/semantic/grammar-fw-ov.png -------------------------------------------------------------------------------- /doc/texi/semantic/grammar-fw-ov.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | `Bovine' parser ! `Wisent' parser ! Other parser 4 | ! ! 5 | /! + - - - - - - - - -!- - - - - - - - - -!- - - - - - - - - + 6 | || ! Common Semantic Grammar Mode ! 7 | || ! ,,,,,,,,,,,,,,,, ! ,,,,,,,,,,,,,,,, ! ,,,,,,,,,,,,,,,, ! 8 | Grammar ! ; `BY' Grammar ; ! ; `WY' Grammar ; ! ; `??' Grammar ; ! 9 | Framework! ; ; ! ; ; ! ; ; ! 10 | || ! ; Elisp Gen. ; ! ; Elisp Gen. ; ! ; Elisp Gen. ; ! 11 | || ! '''''''!'''''''' ! '''''''!'''''''' ! '''''''!'''''''' ! 12 | !/ + - - - -|- - - - -!- - - - | - - - - -!- - - - | - - - - + 13 | | ! | ! | 14 | /! ,-----V------, ! ,-----V------, ! ,-----V------, 15 | || . Language . ! . Language . ! . Language . 16 | || ` Support Lib. ' ! ` Support Lib. ' ! ` Support Lib. ' 17 | || `--!------!--' ! `--!------!--' ! `--!------!--' 18 | || | | ! | | ! | | 19 | || +---V---+ | ! +---V---+ | ! +---V---+ | 20 | || | Lexer | | ! | Lexer | | ! | Lexer | | 21 | Parser +-------+ | ! +-------+ | ! +-------+ | 22 | Framework | ! | ! | 23 | || +- -- -- --! --+ ! +- -- -- --V --+ ! +- -- -- --V --+ 24 | || ! No Compiler ! ! !LALR Compiler ! ! !Optional Comp.! 25 | || +- -- -- --! --+ ! +- -- -- --! --+ ! +- -- -- --! --+ 26 | || | ! | ! | 27 | || +----------V---+ ! +----------V---+ ! +----------V---+ 28 | || | LL Parser | ! | LR Parser | ! | Parser Engine| 29 | !/ +--------------+ ! +--------------+ ! +--------------+ 30 | ! ! 31 | -------------------------------------------------------------------------------- /doc/texi/semantic/semanticheader.texi: -------------------------------------------------------------------------------- 1 | @c Headers and Macros for documentation written for Semantic. 2 | 3 | @c Originally written and organized by Richard Y. Kim in semantic.texi. 4 | 5 | @c ************************************************************************* 6 | @c @ Macros 7 | @c ************************************************************************* 8 | 9 | @c The word ``semantic'' is overloaded with two meanings in this manual. 10 | @c One is the name of this projects, i.e., a noun. 11 | @c The other is the usual English word, i.e., an adjective. 12 | @c This macro was created to distinguish between the two meanings. 13 | @c This macro should be used whenever you are referring to the name of 14 | @c this project. 15 | @c For now, this is simply the word ``semantic'' in italic font. 16 | @c In the future, this may turn into a logo similar to @TeX{}. 17 | @macro semantic{} 18 | @i{semantic} 19 | @end macro 20 | 21 | @c To be used within the glossary section. 22 | @macro kwItem{kw} 23 | @item @b{\kw\} 24 | @anchor{\kw\} 25 | @end macro 26 | 27 | @c Simple macro to help document obsoleted functions. 28 | @macro obsolete{old,new} 29 | @sp 1 30 | @strong{Compatibility}: 31 | @code{\new\} introduced in @semantic{} version 2.0 supercedes 32 | @code{\old\} which is now obsolete. 33 | @end macro 34 | 35 | @c Common settings 36 | @paragraphindent none 37 | -------------------------------------------------------------------------------- /etc/fallback-libraries/README: -------------------------------------------------------------------------------- 1 | This directory contains library files needed for older Emacs version 2 | to work with current CEDET: 3 | 4 | * autoload.el: This is autoload.el taken from Emacs 23.2, needed for 5 | Emacs 23.1 to generate proper autoloads for CEDET. 6 | -------------------------------------------------------------------------------- /etc/images/cogre-arrow.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * cogre_arrow_xpm[] = { 3 | "24 24 2 1", 4 | " c None", 5 | ". c #000000", 6 | " ", 7 | " .. ", 8 | " ..... ", 9 | " . . . ", 10 | " . . .. ", 11 | " .. . .. ", 12 | " . . . ", 13 | " . ", 14 | " . ", 15 | " . ", 16 | " . ", 17 | " . ", 18 | " . ", 19 | " . ", 20 | " . ", 21 | " . ", 22 | " . ", 23 | " . ", 24 | " . ", 25 | " . ", 26 | " . ", 27 | " . ", 28 | " . ", 29 | " "}; 30 | -------------------------------------------------------------------------------- /etc/images/cogre-class.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * cogre_class_xpm[] = { 3 | "24 24 2 1", 4 | " c None", 5 | ". c #000000", 6 | " ", 7 | " ...................... ", 8 | " . . ", 9 | " . .. . ", 10 | " . . . . . . ", 11 | " ... . . . .. .. . ", 12 | " .. . .. . . . ", 13 | " ... . . . .. .. . ", 14 | " . . . . ... ... . . . ", 15 | " . .. . . . . ", 16 | " . . ", 17 | " . . ", 18 | " ...................... ", 19 | " . . ", 20 | " . . ", 21 | " . . ", 22 | " . . ", 23 | " ...................... ", 24 | " . . ", 25 | " . . ", 26 | " . . ", 27 | " . . ", 28 | " ...................... ", 29 | " "}; 30 | -------------------------------------------------------------------------------- /etc/images/cogre-hasa.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * cogre_hasa_xpm[] = { 3 | "24 24 2 1", 4 | " c None", 5 | ". c #000000", 6 | " . ", 7 | " ... ", 8 | " ..... ", 9 | " ....... ", 10 | " ......... ", 11 | " ........ ", 12 | " ...... ", 13 | " .... ", 14 | " .. ", 15 | " . ", 16 | " . ", 17 | " . ", 18 | " . ", 19 | " . ", 20 | " . ", 21 | " . ", 22 | " . ", 23 | " . ", 24 | " . ", 25 | " . ", 26 | " . ", 27 | " . ", 28 | " . ", 29 | " "}; 30 | -------------------------------------------------------------------------------- /etc/images/cogre-instance.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * cogre_instance_xpm[] = { 3 | "24 24 2 1", 4 | " c None", 5 | ". c #000000", 6 | " ", 7 | " ...................... ", 8 | " . . ", 9 | " . . ", 10 | " . . ", 11 | " . . ", 12 | " . . ", 13 | " . . . ", 14 | " . . . ", 15 | " . . . . ", 16 | " . .. . . .. ...... . ", 17 | " . .. . .... . . . ", 18 | " . . . . ... . . ", 19 | " . .. . . . .. . . ", 20 | " . .. . . . ... . . ", 21 | " . . ", 22 | " . ................ . ", 23 | " . . ", 24 | " . . ", 25 | " . . ", 26 | " . . ", 27 | " . . ", 28 | " ...................... ", 29 | " "}; 30 | -------------------------------------------------------------------------------- /etc/images/cogre-isa.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * inherit_xpm[] = { 3 | "24 24 2 1", 4 | " c None", 5 | ". c #000000", 6 | " ", 7 | " .. ", 8 | " .. .. ", 9 | " . . ", 10 | " . .. ", 11 | " .. .. ", 12 | " . . ", 13 | " . .. ", 14 | " ............... ", 15 | " . ", 16 | " . ", 17 | " . ", 18 | " . ", 19 | " . ", 20 | " . ", 21 | " . ", 22 | " . ", 23 | " . ", 24 | " . ", 25 | " . ", 26 | " . ", 27 | " . ", 28 | " . ", 29 | " "}; 30 | -------------------------------------------------------------------------------- /etc/images/cogre-link.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * cogre_link_xpm[] = { 3 | "24 24 2 1", 4 | " c None", 5 | ". c #000000", 6 | " ", 7 | " ", 8 | " ", 9 | " . ", 10 | " . ", 11 | " . ", 12 | " . ", 13 | " . ", 14 | " . ", 15 | " . ", 16 | " . ", 17 | " . ", 18 | " . ", 19 | " ..... ", 20 | " . ", 21 | " . ", 22 | " . ", 23 | " . ", 24 | " . ", 25 | " . ", 26 | " . ", 27 | " ", 28 | " ", 29 | " "}; 30 | -------------------------------------------------------------------------------- /etc/images/cogre-node.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * cogre_node_xpm[] = { 3 | "24 24 2 1", 4 | " c None", 5 | ". c #000000", 6 | " ", 7 | " ...................... ", 8 | " . . ", 9 | " . . ", 10 | " . . ", 11 | " . . ", 12 | " . . ", 13 | " . . ", 14 | " . . . . . ", 15 | " . . . . . ", 16 | " . .. . .. ... . . ", 17 | " . .. . . . . . . . . ", 18 | " . . .. . . . . ... . ", 19 | " . . . . . . . . . ", 20 | " . . . .. ... .. . ", 21 | " . . ", 22 | " . . ", 23 | " . . ", 24 | " . . ", 25 | " . . ", 26 | " . . ", 27 | " . . ", 28 | " ...................... ", 29 | " "}; 30 | -------------------------------------------------------------------------------- /etc/images/cogre-note.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * cogre_note_xpm[] = { 3 | "24 24 2 1", 4 | " c None", 5 | ". c #000000", 6 | " ..................", 7 | " .. .", 8 | " . . .", 9 | " . . .", 10 | " . . .", 11 | " . . .", 12 | ". . .", 13 | "....... .", 14 | ". .", 15 | ". .", 16 | ". . . .", 17 | ". .. . . .", 18 | ". ... . .. ... .. .", 19 | ". . . . . . . . . .", 20 | ". . .. . . . .... .", 21 | ". . .. . . . . .", 22 | ". . . .. . ... .", 23 | ". .", 24 | ". .", 25 | ". .", 26 | ". .", 27 | ". .", 28 | ". .", 29 | "........................"}; 30 | -------------------------------------------------------------------------------- /etc/images/cogre-package.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * package_xpm[] = { 3 | "24 24 2 1", 4 | " c None", 5 | ". c #000000", 6 | " ", 7 | " ......... ", 8 | ". .. ", 9 | ". .. ", 10 | ". . ", 11 | ". .............", 12 | ". .", 13 | ". .", 14 | ". ..... . .", 15 | ". . . . .", 16 | ". . . . . .... .", 17 | ". ..... . . . . .", 18 | ". . .. . . .", 19 | ". . . . . . .", 20 | ". . . . . .. .", 21 | ". . . . . .", 22 | ". .. .", 23 | ". .", 24 | ". .", 25 | ". .", 26 | ". .", 27 | ". .", 28 | ". .", 29 | "........................"}; 30 | -------------------------------------------------------------------------------- /etc/semantic/bovine/skeleton.by: -------------------------------------------------------------------------------- 1 | ;;; semantic/bovine/skeleton.by -- Skeleton for creating BY files. 2 | ;; 3 | ;; Copyright (C) 2001, 2003 Eric M. Ludlam 4 | ;; 5 | ;; Author: 6 | ;; 7 | ;; This program is free software; you can redistribute it and/or modify 8 | ;; it under the terms of the GNU General Public License as published by 9 | ;; the Free Software Foundation; either version 2, or (at your option) 10 | ;; any later version. 11 | ;; 12 | ;; This software is distributed in the hope that it will be useful, 13 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | ;; GNU General Public License for more details. 16 | ;; 17 | ;; You should have received a copy of the GNU General Public License 18 | ;; along with GNU Emacs; see the file COPYING. If not, write to the 19 | ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 20 | ;; Boston, MA 02110-1301, USA. 21 | ;; 22 | 23 | ;; Replace occurance of "skeleton" with the name of your language. 24 | 25 | ;; Replace start, and scopestart names with something apropriate for 26 | ;; your language. 27 | 28 | %package semantic/bovine/skeleton-by 29 | 30 | %languagemode skeleton-mode 31 | %start starting_rule 32 | %scopestart start_scope_rule 33 | 34 | ;; Make common keywords into tokens returned by the lexer. 35 | ;; This improves accuracy, makes this file more readable. 36 | ;; Use SOMETHING in your rules as a terminal 37 | %token SOMETHING "something" 38 | ;; Adding a summary help's `eldoc' mode display useful information 39 | ;; in your language. 40 | %put SOMETHING summary "Describe something" 41 | 42 | ;; Turn common punctuation elements into tokens. 43 | ;; This does not effect lexical analysis or accuracy, 44 | ;; but does make your file more readable. 45 | %token PERIOD "\\`[.]\\'" 46 | %token OPERATORS "[-+*/%^|&]" 47 | 48 | %% 49 | 50 | starting_rule : something 51 | ; 52 | 53 | start_scope_rule : something_else 54 | ; 55 | 56 | 57 | something : SOMETHING 58 | ; 59 | 60 | ;; Examples from c.by: 61 | 62 | opt-expression : expression 63 | | ;; EMPTY 64 | ; 65 | 66 | ;; This expression parses over expressions, but doesn't return 67 | ;; anything 68 | expression : number 69 | ( ) 70 | | symbol 71 | ( ) 72 | | string 73 | ( ) 74 | | semantic-list 75 | ( ) 76 | | OPERATORS expression 77 | ;; ( nil ) 78 | ; 79 | 80 | ;;; semantic/bovine/skeleton.by ends here 81 | -------------------------------------------------------------------------------- /etc/semantic/semanticdb.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # semanticdb.sh --- Build a semantic cache for input arguments 3 | # 4 | # Copyright (C) 2002, 2004 Eric M. Ludlam 5 | # 6 | # Author: Eric M. Ludlam 7 | # Keywords: tags 8 | # X-RCS: $Id: semanticdb.sh,v 1.3 2005-09-30 20:19:32 zappo Exp $ 9 | # 10 | # This file is not part of GNU Emacs. 11 | # 12 | # Semanticdb is free software; you can redistribute it and/or modify 13 | # it under the terms of the GNU General Public License as published by 14 | # the Free Software Foundation; either version 2, or (at your option) 15 | # any later version. 16 | # 17 | # This software is distributed in the hope that it will be useful, 18 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | # GNU General Public License for more details. 21 | # 22 | # You should have received a copy of the GNU General Public License 23 | # along with GNU Emacs; see the file COPYING. If not, write to the 24 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 25 | # Boston, MA 02110-1301, USA. 26 | # 27 | # Commentary: 28 | # 29 | # Emacs usually builds a semantic cache on the fly. If you want to use 30 | # a tool that accesses database files without having to visit all the files, 31 | # however, you should use this script BEFORE starting Emacs. 32 | # 33 | # If you move this script from its original location, you have to set 34 | # CEDET_PATH to the CEDET directory. 35 | 36 | if [ -z "$1" ]; then 37 | echo "Usage: `basename $0` list-of-files+" 38 | exit 1 39 | fi 40 | 41 | if [ -z "$CEDET_PATH" ]; then 42 | echo CEDET_PATH not set. Guessing path from script source. 43 | loadpath="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../.." && pwd )" 44 | else 45 | loadpath="$SEMANTIC_PATH" 46 | fi 47 | 48 | echo Using CEDET path $loadpath 49 | 50 | if [ -z "$EMACS" ]; then 51 | emacs="emacs" 52 | else 53 | emacs="$EMACS" 54 | fi 55 | 56 | exec $emacs -batch -l "${loadpath}/lisp/cedet/semantic/db-mk.el" "$@" 57 | 58 | #end 59 | -------------------------------------------------------------------------------- /etc/srecode/Makefile: -------------------------------------------------------------------------------- 1 | # Automatically Generated Makefile by EDE. 2 | # For use with: make 3 | # 4 | # DO NOT MODIFY THIS FILE OR YOUR CHANGES MAY BE LOST. 5 | # EDE is the Emacs Development Environment. 6 | # http://cedet.sourceforge.net/ede.shtml 7 | # 8 | 9 | top=../ 10 | ede_FILES=Project.ede Makefile 11 | 12 | templates_MISC=default.srt srecode-el.srt srecode-getset-cpp.srt srecode-template.srt srecode-cpp.srt srecode-wisent.srt srecode-texi.srt srecode-test.srt srecode-make.srt srecode-java.srt proj-test.srt 13 | document_MISC=document-default.srt srecode-document-cpp.srt srecode-document-java.srt 14 | android_MISC=android-java.srt 15 | arduino_MISC=arduino-pde.srt 16 | VERSION=1.1 17 | DISTDIR=$(top)srecode-$(VERSION)/templates 18 | 19 | 20 | 21 | all: templates document android arduino 22 | 23 | templates: 24 | @ 25 | 26 | document: 27 | @ 28 | 29 | android: 30 | @ 31 | 32 | arduino: 33 | @ 34 | 35 | tags: 36 | 37 | .PHONY: dist 38 | 39 | dist: 40 | mkdir $(DISTDIR) 41 | cp $(templates_MISC) $(document_MISC) $(android_MISC) $(arduino_MISC) $(ede_FILES) $(DISTDIR) 42 | 43 | Makefile: Project.ede 44 | @echo Makefile is out of date! It needs to be regenerated by EDE. 45 | @echo If you have not modified Project.ede, you can use 'touch' to update the Makefile time stamp. 46 | @false 47 | 48 | 49 | 50 | # End of Makefile 51 | -------------------------------------------------------------------------------- /etc/srecode/Project.ede: -------------------------------------------------------------------------------- 1 | ;; Object SRecode templates 2 | ;; EDE Project Files are auto generated: Do Not Edit 3 | (ede-proj-project "SRecode templates" 4 | :file "Project.ede" 5 | :name "templates" 6 | :targets (list 7 | (ede-proj-target-makefile-miscelaneous "templates" 8 | :name "templates" 9 | :path "" 10 | :source '("default.srt" "srecode-el.srt" "srecode-getset-cpp.srt" "srecode-template.srt" "srecode-cpp.srt" "srecode-wisent.srt" "srecode-texi.srt" "srecode-test.srt" "srecode-make.srt" "srecode-java.srt" "proj-test.srt") 11 | ) 12 | (ede-proj-target-makefile-miscelaneous "document" 13 | :name "document" 14 | :path "" 15 | :source '("document-default.srt" "srecode-document-cpp.srt" "srecode-document-java.srt") 16 | ) 17 | (ede-proj-target-makefile-miscelaneous "android" 18 | :name "android" 19 | :path "" 20 | :source '("android-java.srt") 21 | ) 22 | (ede-proj-target-makefile-miscelaneous "arduino" 23 | :name "arduino" 24 | :path "" 25 | :source '("arduino-pde.srt") 26 | ) 27 | ) 28 | ) 29 | -------------------------------------------------------------------------------- /etc/srecode/arduino-pde.srt: -------------------------------------------------------------------------------- 1 | ;; arduino-pde.srt --- Templates for Arduino PDE or INO files. 2 | ;; 3 | ;; Copyright (C) 2012 Eric M. Ludlam 4 | ;; 5 | ;; Author: Eric M. Ludlam 6 | ;; 7 | ;; This program is free software; you can redistribute it and/or 8 | ;; modify it under the terms of the GNU General Public License as 9 | ;; published by the Free Software Foundation, either version 3 of the 10 | ;; License, or (at your option) any later version. 11 | 12 | ;; This program is distributed in the hope that it will be useful, but 13 | ;; WITHOUT ANY WARRANTY; without even the implied warranty of 14 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | ;; General Public License for more details. 16 | 17 | ;; You should have received a copy of the GNU General Public License 18 | ;; along with this program. If not, see http://www.gnu.org/licenses/. 19 | 20 | set mode "arduino-mode" 21 | set escape_start "{{" 22 | set escape_end "}}" 23 | 24 | set comment_start "/**" 25 | set comment_end " */" 26 | set comment_prefix " *" 27 | 28 | context file 29 | 30 | template empty :time :user :file :cpp 31 | "Fill an empty arduino file." 32 | ---- 33 | {{>:filecomment}} 34 | 35 | void setup() { 36 | {{^}} 37 | 38 | } 39 | 40 | void loop() { 41 | 42 | } 43 | 44 | ---- 45 | 46 | ;; @TODO - Add templates to help use common shields or libraries: 47 | ;; - Servos 48 | ;; - Motor shield 49 | ;; - tx/rx serial shields (bluetooth/xbee) 50 | ;; - data logger 51 | 52 | 53 | ;; end -------------------------------------------------------------------------------- /etc/srecode/cogre-default.srt: -------------------------------------------------------------------------------- 1 | ;; cogre-default.srt --- Default templates for basic COGRE. 2 | ;; 3 | ;; Copyright (C) 2009 Eric M. Ludlam 4 | ;; 5 | ;; Author: Eric M. Ludlam 6 | ;; 7 | ;; This program is free software; you can redistribute it and/or 8 | ;; modify it under the terms of the GNU General Public License as 9 | ;; published by the Free Software Foundation; either version 2, or (at 10 | ;; your option) any later version. 11 | 12 | ;; This program is distributed in the hope that it will be useful, but 13 | ;; WITHOUT ANY WARRANTY; without even the implied warranty of 14 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | ;; General Public License for more details. 16 | 17 | ;; You should have received a copy of the GNU General Public License 18 | ;; along with this program; see the file COPYING. If not, write to 19 | ;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 20 | ;; Boston, MA 02110-1301, USA. 21 | 22 | set mode "default" 23 | set escape_start "{{" 24 | set escape_end "}}" 25 | 26 | context file 27 | 28 | ;; @TODO - Need to test this 29 | 30 | 31 | template cogre-graph-comment :cogre 32 | ---- 33 | {{comment_start}} {{GRAPHNAME}} -- {{^}} 34 | {{comment_prefix}} 35 | {{GRAPH:srecode-comment-prefix}} 36 | {{comment_prefix}} 37 | {{comment_end}} 38 | ---- 39 | 40 | 41 | 42 | 43 | ;; end -------------------------------------------------------------------------------- /etc/srecode/default.srt: -------------------------------------------------------------------------------- 1 | ;;; default.srt --- SRecode templates for srecode-template-mode 2 | 3 | ;; Copyright (C) 2007-2012 Free Software Foundation, Inc. 4 | 5 | ;; Author: Eric M. Ludlam 6 | 7 | ;; This file is part of GNU Emacs. 8 | 9 | ;; GNU Emacs is free software: you can redistribute it and/or modify 10 | ;; it under the terms of the GNU General Public License as published by 11 | ;; the Free Software Foundation, either version 3 of the License, or 12 | ;; (at your option) any later version. 13 | 14 | ;; GNU Emacs is distributed in the hope that it will be useful, 15 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | ;; GNU General Public License for more details. 18 | 19 | ;; You should have received a copy of the GNU General Public License 20 | ;; along with GNU Emacs. If not, see . 21 | 22 | set mode "default" 23 | 24 | set comment_start "#" 25 | 26 | set COPYRIGHT "This program is free software; you can redistribute it and/or 27 | modify it under the terms of the GNU General Public License as 28 | published by the Free Software Foundation, either version 3 of the 29 | License, or (at your option) any later version. 30 | 31 | This program is distributed in the hope that it will be useful, but 32 | WITHOUT ANY WARRANTY; without even the implied warranty of 33 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 34 | General Public License for more details. 35 | 36 | You should have received a copy of the GNU General Public License 37 | along with this program. If not, see http://www.gnu.org/licenses/." 38 | 39 | set DOLLAR "$" 40 | 41 | context file 42 | 43 | template copyright 44 | ---- 45 | {{COPYRIGHT:srecode-comment-prefix}} 46 | ---- 47 | 48 | template filecomment :file :user :time 49 | ---- 50 | {{comment_start}} {{FILENAME}} --- {{^}} 51 | {{comment_prefix}} 52 | {{comment_prefix}} Copyright (C) {{YEAR}} {{?AUTHOR}} 53 | {{comment_prefix}} 54 | {{comment_prefix}} Author: {{AUTHOR}} <{{EMAIL}}>{{#RCS}} 55 | {{comment_prefix}} X-RCS: {{DOLLAR}}Id{{DOLLAR}}{{/RCS}} 56 | {{comment_prefix}} 57 | {{>:copyright}} 58 | {{comment_end}} 59 | ---- 60 | 61 | ;; end 62 | -------------------------------------------------------------------------------- /etc/srecode/ede-autoconf.srt: -------------------------------------------------------------------------------- 1 | ;; ede/templates/autoconf.srt --- Templates for autoconf used by EDE. 2 | ;; 3 | ;; Copyright (C) 2010, 2013 Eric M. Ludlam 4 | ;; 5 | ;; Author: Eric M. Ludlam 6 | ;; 7 | ;; This program is free software; you can redistribute it and/or 8 | ;; modify it under the terms of the GNU General Public License as 9 | ;; published by the Free Software Foundation; either version 2, or (at 10 | ;; your option) any later version. 11 | 12 | ;; This program is distributed in the hope that it will be useful, but 13 | ;; WITHOUT ANY WARRANTY; without even the implied warranty of 14 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | ;; General Public License for more details. 16 | 17 | ;; You should have received a copy of the GNU General Public License 18 | ;; along with this program; see the file COPYING. If not, write to 19 | ;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 20 | ;; Boston, MA 02110-1301, USA. 21 | 22 | set mode "autoconf-mode" 23 | set escape_start "{{" 24 | set escape_end "}}" 25 | set comment_start "#" 26 | set comment_prefix "#" 27 | set application "ede" 28 | 29 | context file 30 | 31 | template ede-empty :project 32 | "Start a new EDE generated configure.in/ac file." 33 | ---- 34 | {{comment_prefix}} Automatically Generated/Maintained {{FILE}} by EDE. 35 | {{comment_prefix}} 36 | {{comment_prefix}} YOU MAY MODIFY THIS FILE 37 | {{comment_prefix}} Hand made changes in some sections will be preserved 38 | {{comment_prefix}} by EDE when this file is updated. 39 | {{comment_prefix}} 40 | {{comment_prefix}} EDE is the Emacs Development Environment. 41 | {{comment_prefix}} http://cedet.sourceforge.net/ede.shtml 42 | {{comment_prefix}} 43 | {{comment_prefix}} Process this file with autoconf to produce a configure script 44 | 45 | AC_INIT({{PROJECT_NAME}}, {{PROJECT_VERSION}}) 46 | AM_INIT_AUTOMAKE([{{PROGRAM}}], 0) 47 | AM_CONFIG_HEADER(config.h) 48 | 49 | {{comment_prefix}} End the configure script. 50 | AC_OUTPUT(Makefile, [date > stamp-h] ) 51 | ---- 52 | 53 | 54 | ;; end 55 | -------------------------------------------------------------------------------- /etc/srecode/ede-make.srt: -------------------------------------------------------------------------------- 1 | ;; ede-make.srt --- SRecode templates for Makefiles used by EDE. 2 | 3 | ;; Copyright (C) 2008-2013 Free Software Foundation, Inc. 4 | 5 | ;; Author: Eric M. Ludlam 6 | 7 | ;; This file is part of GNU Emacs. 8 | 9 | ;; GNU Emacs is free software: you can redistribute it and/or modify 10 | ;; it under the terms of the GNU General Public License as published by 11 | ;; the Free Software Foundation, either version 3 of the License, or 12 | ;; (at your option) any later version. 13 | 14 | ;; GNU Emacs is distributed in the hope that it will be useful, 15 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | ;; GNU General Public License for more details. 18 | 19 | ;; You should have received a copy of the GNU General Public License 20 | ;; along with GNU Emacs. If not, see . 21 | 22 | set mode "makefile-mode" 23 | set escape_start "{{" 24 | set escape_end "}}" 25 | set application "ede" 26 | 27 | context file 28 | 29 | template ede-empty :file :project 30 | ---- 31 | # Automatically Generated {{FILE}} by EDE. 32 | # For use with: {{MAKETYPE}} 33 | # Relative File Name: {{PROJECT_FILENAME}} 34 | # 35 | # DO NOT MODIFY THIS FILE OR YOUR CHANGES MAY BE LOST. 36 | # EDE is the Emacs Development Environment. 37 | # http://cedet.sourceforge.net/ede.shtml 38 | # 39 | 40 | ---- 41 | 42 | context declaration 43 | 44 | template ede-vars 45 | ---- 46 | {{#VARIABLE}} 47 | {{NAME}}={{#VALUE}} {{VAL}}{{/VALUE}}{{/VARIABLE}} 48 | ---- 49 | 50 | ;; Some extra templates for Arduino based Makefiles. 51 | ;; Perhaps split this out someday in the future. 52 | context arduino 53 | 54 | template ede-empty :file 55 | ---- 56 | # Automatically Generated {{FILE}} by EDE. 57 | # For use with Make for an Arduino project. 58 | # 59 | # DO NOT MODIFY THIS FILE OR YOUR CHANGES MAY BE LOST. 60 | # EDE is the Emacs Development Environment. 61 | # http://cedet.sourceforge.net/ede.shtml 62 | 63 | ARDUINO_DIR = {{ARDUINO_HOME}} 64 | 65 | TARGET = {{TARGET}} 66 | ARDUINO_LIBS = {{ARDUINO_LIBS}} 67 | 68 | MCU = {{MCU}} 69 | F_CPU = {{F_CPU}} 70 | ARDUINO_PORT = {{PORT}} 71 | BOARD_TAG = {{BOARD}} 72 | 73 | AVRDUDE_ARD_BAUDRATE = {{AVRDUDE_ARD_BAUDRATE}} 74 | AVRDUDE_ARD_PROGRAMMER = {{AVRDUDE_ARD_PROGRAMMER}} 75 | 76 | include {{ARDUINO_MK}} 77 | 78 | # End of Makefile 79 | ---- 80 | 81 | 82 | ;; end 83 | -------------------------------------------------------------------------------- /etc/srecode/getset-cpp.srt: -------------------------------------------------------------------------------- 1 | ;;; getset-cpp.srt --- SRecode templates for C++ class getter/setters. 2 | 3 | ;; Copyright (C) 2007-2012 Free Software Foundation, Inc. 4 | 5 | ;; Author: Eric M. Ludlam 6 | 7 | ;; This file is part of GNU Emacs. 8 | 9 | ;; GNU Emacs is free software: you can redistribute it and/or modify 10 | ;; it under the terms of the GNU General Public License as published by 11 | ;; the Free Software Foundation, either version 3 of the License, or 12 | ;; (at your option) any later version. 13 | 14 | ;; GNU Emacs is distributed in the hope that it will be useful, 15 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | ;; GNU General Public License for more details. 18 | 19 | ;; You should have received a copy of the GNU General Public License 20 | ;; along with GNU Emacs. If not, see . 21 | 22 | set mode "c++-mode" 23 | set application "getset" 24 | 25 | context declaration 26 | 27 | template getset-in-class :tag :indent :blank 28 | ---- 29 | {{>A:classdecl:comment-function-group-start}} 30 | {{TYPE}} get{{NICENAME}}() const { 31 | return {{NAME}}; 32 | } 33 | void set{{NICENAME}}({{TYPE}} {{NICENAME}}) { 34 | {{NAME}} = {{NICENAME}}; 35 | } 36 | {{>A:classdecl:comment-function-group-end}} 37 | ---- 38 | 39 | template getset-field :blank :indent 40 | ---- 41 | {{?TYPE}} f{{?NAME}}; 42 | ---- 43 | 44 | template getset-initializer :indent 45 | ---- 46 | f{{NAME}}(){{#NOTLAST}},{{/NOTLAST}} 47 | ---- 48 | 49 | ;; end 50 | -------------------------------------------------------------------------------- /etc/srecode/html.srt: -------------------------------------------------------------------------------- 1 | ;; html.srt --- Base Templates for HTML 2 | ;; 3 | ;; Copyright (C) 2013 Eric M. Ludlam 4 | ;; 5 | ;; Author: Eric M. Ludlam 6 | ;; 7 | ;; This program is free software; you can redistribute it and/or 8 | ;; modify it under the terms of the GNU General Public License as 9 | ;; published by the Free Software Foundation, either version 3 of the 10 | ;; License, or (at your option) any later version. 11 | 12 | ;; This program is distributed in the hope that it will be useful, but 13 | ;; WITHOUT ANY WARRANTY; without even the implied warranty of 14 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | ;; General Public License for more details. 16 | 17 | ;; You should have received a copy of the GNU General Public License 18 | ;; along with this program. If not, see http://www.gnu.org/licenses/. 19 | 20 | set mode "html-mode" 21 | set escape_start "{{" 22 | set escape_end "}}" 23 | 24 | context file 25 | 26 | template empty :file 27 | "Template for filling an empty file." 28 | ---- 29 | 30 | 31 | 32 | 33 | {{FILENAME}} 34 | {{^}} 35 | 36 | 37 | ---- 38 | 39 | 40 | ;; end -------------------------------------------------------------------------------- /etc/srecode/make.srt: -------------------------------------------------------------------------------- 1 | ;; make.srt 2 | 3 | ;; Copyright (C) 2009-2012 Free Software Foundation, Inc. 4 | 5 | ;; Author: Eric M. Ludlam 6 | 7 | ;; This file is part of GNU Emacs. 8 | 9 | ;; GNU Emacs is free software: you can redistribute it and/or modify 10 | ;; it under the terms of the GNU General Public License as published by 11 | ;; the Free Software Foundation, either version 3 of the License, or 12 | ;; (at your option) any later version. 13 | 14 | ;; GNU Emacs is distributed in the hope that it will be useful, 15 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | ;; GNU General Public License for more details. 18 | 19 | ;; You should have received a copy of the GNU General Public License 20 | ;; along with GNU Emacs. If not, see . 21 | 22 | set mode "makefile-mode" 23 | set escape_start "{{" 24 | set escape_end "}}" 25 | set comment_start "#" 26 | set comment_prefix "#" 27 | set TAB "\t" 28 | 29 | context file 30 | 31 | template empty :file :user 32 | ---- 33 | {{>:filecomment}} 34 | 35 | all: {{^}} 36 | 37 | {{comment_start}} end 38 | ---- 39 | 40 | context declaration 41 | 42 | ;; GNU Make has real functions you can define, but semantic uses 43 | ;; 'function for rules. This is unfortunate, and should be fixed. 44 | template rule :blank 45 | ---- 46 | {{?NAME}}: 47 | {{TAB}}{{^}} 48 | ---- 49 | bind "r" 50 | 51 | template inferencerule :blank 52 | ---- 53 | %.{{?SRCEXTENSION}}: %.{{?DESTEXTENSION}} 54 | {{TAB}}{{^}} 55 | ---- 56 | bind "i" 57 | 58 | template phonyrule :blank 59 | ---- 60 | .PHONY {{?NAME}} 61 | {{NAME}}: 62 | {{TAB}}{{^}} 63 | ---- 64 | bind "p" 65 | 66 | 67 | template variable :blank 68 | "Insert a variable declaration." 69 | ---- 70 | {{?NAME}}:= {{^}} 71 | ---- 72 | bind "v" 73 | 74 | template include :blank 75 | ---- 76 | include {{?NAME}} 77 | ---- 78 | 79 | ;; end 80 | -------------------------------------------------------------------------------- /etc/srecode/proj-test.srt: -------------------------------------------------------------------------------- 1 | ;; proj-test.srt --- File for testing project scoping. 2 | ;; 3 | ;; Copyright (C) 2010 Eric M. Ludlam 4 | ;; 5 | ;; Author: Eric M. Ludlam 6 | ;; 7 | ;; This program is free software; you can redistribute it and/or 8 | ;; modify it under the terms of the GNU General Public License as 9 | ;; published by the Free Software Foundation; either version 2, or (at 10 | ;; your option) any later version. 11 | 12 | ;; This program is distributed in the hope that it will be useful, but 13 | ;; WITHOUT ANY WARRANTY; without even the implied warranty of 14 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | ;; General Public License for more details. 16 | 17 | ;; You should have received a copy of the GNU General Public License 18 | ;; along with this program; see the file COPYING. If not, write to 19 | ;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 20 | ;; Boston, MA 02110-1301, USA. 21 | 22 | set mode "srecode-template-mode" 23 | set escape_start "{{" 24 | set escape_end "}}" 25 | 26 | set application "tests" 27 | set project "/tmp/" 28 | 29 | context test 30 | 31 | template test-project 32 | "A template that only exists for files in /tmp." 33 | ---- 34 | Contents doesn't matter. 35 | ---- 36 | 37 | ;; end 38 | -------------------------------------------------------------------------------- /etc/srecode/srecode-dot.srt: -------------------------------------------------------------------------------- 1 | ;; srecode-dot.srt --- 2 | ;; 3 | ;; Copyright (C) 2009, 2010 Eric M. Ludlam 4 | ;; 5 | ;; Author: Eric M. Ludlam 6 | ;; 7 | ;; This program is free software; you can redistribute it and/or 8 | ;; modify it under the terms of the GNU General Public License as 9 | ;; published by the Free Software Foundation; either version 2, or (at 10 | ;; your option) any later version. 11 | 12 | ;; This program is distributed in the hope that it will be useful, but 13 | ;; WITHOUT ANY WARRANTY; without even the implied warranty of 14 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | ;; General Public License for more details. 16 | 17 | ;; You should have received a copy of the GNU General Public License 18 | ;; along with this program; see the file COPYING. If not, write to 19 | ;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 20 | ;; Boston, MA 02110-1301, USA. 21 | 22 | set mode "graphviz-dot-mode" 23 | set escape_start "{{" 24 | set escape_end "}}" 25 | 26 | set comment_start "/**" 27 | set comment_end " */" 28 | set comment_prefix " *" 29 | 30 | context file 31 | 32 | template empty :time :user :file :dot 33 | ---- 34 | {{>:filecomment}} 35 | digraph structs { 36 | {{^}} 37 | } 38 | ---- 39 | 40 | template cogre :time :dot :cogre 41 | ---- 42 | {{comment_start}} 43 | {{comment_prefix}} Graph {{GRAPHNAME}} Generated by Emacs/SRecode on {{TIME}}. 44 | {{comment_end}} 45 | ---- 46 | 47 | context declaration 48 | 49 | template digraph-tag :blank 50 | "Insert a digraph structure. 51 | NOTE: Using Courier font allows Emacs monospace fonts to match the 52 | layout specified by dot with a simple ratio." 53 | ---- 54 | digraph structs { 55 | node [shape=record fontsize=12 fontname=Courier]; 56 | {{^}} 57 | } 58 | ---- 59 | 60 | template generic-node :blank :tag 61 | "Basic node declaration for generic attributes." 62 | ---- 63 | node [shape={{SHAPE}}]; 64 | ---- 65 | 66 | template node :blank :tag 67 | "Basic node tag to convert from a Semantic parse." 68 | ---- 69 | "{{NAME}}" [ {{#ATTRIBUTES}} {{LABEL}}="{{VALUE}}"{{/ATTRIBUTES}} ]; 70 | ---- 71 | 72 | template link :blank :tag 73 | "Basic link tag to convert from a Semantic parse." 74 | ---- 75 | "{{NAME}}" -> "{{TAIL}}" [ {{#ATTRIBUTES}} {{LABEL}}="{{VALUE}}"{{/ATTRIBUTES}} ]; 76 | ---- 77 | 78 | 79 | ;; end -------------------------------------------------------------------------------- /etc/srecode/wisent.srt: -------------------------------------------------------------------------------- 1 | ;; wisent.srt --- SRecode templates for Emacs/WISENT grammar files. 2 | 3 | ;; Copyright (C) 2007-2012 Free Software Foundation, Inc. 4 | 5 | ;; Author: Eric M. Ludlam 6 | 7 | ;; This file is part of GNU Emacs. 8 | 9 | ;; GNU Emacs is free software: you can redistribute it and/or modify 10 | ;; it under the terms of the GNU General Public License as published by 11 | ;; the Free Software Foundation, either version 3 of the License, or 12 | ;; (at your option) any later version. 13 | 14 | ;; GNU Emacs is distributed in the hope that it will be useful, 15 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | ;; GNU General Public License for more details. 18 | 19 | ;; You should have received a copy of the GNU General Public License 20 | ;; along with GNU Emacs. If not, see . 21 | 22 | set mode "wisent-grammar-mode" 23 | set comment_start ";;" 24 | set comment_prefix ";;" 25 | set comment_end "" 26 | 27 | context file 28 | 29 | template empty :file :user :time 30 | "Insert a skeleton for a grammar file." 31 | ---- 32 | {{>:filecomment}} 33 | 34 | ;;; Commentary: 35 | ;; 36 | ;; Parser for {{?TARGETMODE}} mode 37 | 38 | %languagemode {{TARGETMODE}}-mode 39 | %parsetable wisent-{{TARGETMODE}}-parser-tables 40 | %keywordtable wisent-{{TARGETMODE}}-keywords 41 | %tokentable wisent-{{TARGETMODE}}-tokens 42 | %languagemode {{TARGETMODE}}-mode 43 | %setupfunction wisent-{{TARGETMODE}}-default-setup 44 | 45 | %start goal 46 | 47 | ;;; KEYWORDS 48 | %type 49 | 50 | %% 51 | 52 | goal 53 | : {{^}} 54 | ; 55 | 56 | %% 57 | (define-lex wisent-{{TARGETMODE}}-lexer 58 | "Lexical analyzer to handle {{TARGETMODE}} buffers." 59 | ;; semantic-lex-newline 60 | semantic-lex-ignore-whitespace 61 | semantic-lex-ignore-newline 62 | semantic-lex-ignore-comments 63 | 64 | semantic-lex-default-action 65 | ) 66 | 67 | ;; {{FILENAME}} ends here 68 | ---- 69 | 70 | context declaration 71 | 72 | template function 73 | ---- 74 | {{?NAME}} 75 | : {{^}} 76 | ; 77 | ---- 78 | bind "f" 79 | 80 | template keyword 81 | ---- 82 | %keyword {{?NAME:upcase}} "{{NAME:downcase}}" 83 | %put {{NAME:upcase}} summary "{{NAME}} {{^}}" 84 | ---- 85 | bind "k" 86 | 87 | template token 88 | ---- 89 | %type <{{?LEXTOKEN}}> 90 | %token <{{LEXTOKEN}}> {{LEXTOKEN}} 91 | ---- 92 | bind "t" 93 | 94 | ;; end 95 | -------------------------------------------------------------------------------- /gettodos.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | grep -ni "@todo" `find . -name "*.el"` -------------------------------------------------------------------------------- /lisp/Makefile: -------------------------------------------------------------------------------- 1 | # Automatically Generated Makefile by EDE. 2 | # For use with: make 3 | # Relative File Name: Makefile 4 | # 5 | # DO NOT MODIFY THIS FILE OR YOUR CHANGES MAY BE LOST. 6 | # EDE is the Emacs Development Environment. 7 | # http://cedet.sourceforge.net/ede.shtml 8 | # 9 | 10 | top="$(CURDIR)"/ 11 | ede_FILES=Project.ede Makefile 12 | 13 | VERSION=1.1beta 14 | DISTDIR=$(top)cedet-topdir-$(VERSION) 15 | 16 | 17 | 18 | all: speedbar eieio cedet 19 | 20 | .PHONY:speedbar 21 | speedbar: 22 | $(MAKE) -C speedbar 23 | 24 | .PHONY:eieio 25 | eieio: 26 | $(MAKE) -C eieio 27 | 28 | .PHONY:cedet 29 | cedet: 30 | $(MAKE) -C cedet 31 | 32 | tags: 33 | $(MAKE) -C speedbar/ $(MFLAGS) $@ 34 | $(MAKE) -C eieio/ $(MFLAGS) $@ 35 | $(MAKE) -C cedet/ $(MFLAGS) $@ 36 | 37 | .PHONY: dist 38 | 39 | dist: 40 | rm -rf $(DISTDIR) 41 | mkdir $(DISTDIR) 42 | cp $(ede_FILES) $(DISTDIR) 43 | $(MAKE) -C speedbar $(MFLAGS) DISTDIR=$(DISTDIR)/speedbar dist 44 | $(MAKE) -C eieio $(MFLAGS) DISTDIR=$(DISTDIR)/eieio dist 45 | $(MAKE) -C cedet $(MFLAGS) DISTDIR=$(DISTDIR)/cedet dist 46 | tar -cvzf $(DISTDIR).tar.gz $(DISTDIR) 47 | rm -rf $(DISTDIR) 48 | 49 | Makefile: Project.ede 50 | @echo Makefile is out of date! It needs to be regenerated by EDE. 51 | @echo If you have not modified Project.ede, you can use 'touch' to update the Makefile time stamp. 52 | @false 53 | 54 | 55 | 56 | # End of Makefile 57 | -------------------------------------------------------------------------------- /lisp/Project.ede: -------------------------------------------------------------------------------- 1 | (ede-proj-project "cedet-topdir" 2 | :name "cedet-topdir" 3 | :version "1.1beta" 4 | :file "Project.ede" 5 | :targets (list ) 6 | ) 7 | -------------------------------------------------------------------------------- /lisp/cedet/Project.ede: -------------------------------------------------------------------------------- 1 | ;; Object common 2 | ;; EDE project file. 3 | (ede-proj-project "cedet" 4 | :name "cedet" 5 | :version "1.2beta" 6 | :file "Project.ede" 7 | :targets (list 8 | (ede-proj-target-elisp-autoloads "autoloads" 9 | :name "autoloads" 10 | :path "" 11 | :partofall nil 12 | :autoload-file "loaddefs.el" 13 | ) 14 | (ede-proj-target-elisp "common" 15 | :name "common" 16 | :path "" 17 | :source '("cedet-android.el" "cedet-compat.el" "cedet-cscope.el" "cedet-edebug.el" 18 | "cedet-files.el" "cedet-global.el" "cedet-graphviz.el" "cedet-idutils.el" "cedet-java.el" 19 | "cedet-m3.el" "cedet.el" "data-debug.el" "fame.el" "inversion.el" 20 | "mode-local.el" "pprint.el" "pulse.el" "working.el") 21 | :aux-packages '("cedet-compat" "cedet" "eieio") 22 | :pre-load-packages '("cedet-compat") 23 | ) 24 | (ede-proj-target-elisp "subproj-top" 25 | :name "init" 26 | :path "" 27 | :source '("semantic.el" "srecode.el" "ede.el" "cogre.el") 28 | :aux-packages '("cedet-compat" "cedet" "eieio") 29 | :pre-load-packages '("cedet-compat") 30 | ) 31 | ) 32 | :web-site-url "http://cedet.sourceforge.net/" 33 | :web-site-directory "/r@scp:shell.sourceforge.net:cedet/htdocs" 34 | :ftp-upload-site "/ftp@upload.sourceforge.net:/incoming" 35 | :variables '(("EMACSFLAGS" . "-batch --no-site-file --eval '(setq debug-on-error t)' -l \"../../cedet-remove-builtin.el\"") 36 | ("EMACS" . "@echo \" > $@\";emacs") 37 | ;; This is a hack we still need for Emacs 23.1 38 | ("AUTOGENFLAGS" . "-L . --eval '(progn (require (quote cedet-compat)) (require (quote mode-local)))'")) 39 | :configuration-variables 'nil 40 | :metasubproject 't 41 | ) 42 | -------------------------------------------------------------------------------- /lisp/cedet/cogre/Project.ede: -------------------------------------------------------------------------------- 1 | ;; Object cedet/cogre 2 | ;; EDE project file. 3 | (ede-proj-project "cedet/cogre" 4 | :name "Cogre" 5 | :version "1.2beta" 6 | :file "Project.ede" 7 | :targets (list 8 | (ede-proj-target-elisp-autoloads "autoloads" 9 | :name "autoloads" 10 | :path "" 11 | :partofall nil 12 | ) 13 | (semantic-ede-proj-target-grammar "wy" 14 | :name "wy" 15 | :path "" 16 | :source '("wisent-dot.wy") 17 | ) 18 | (ede-proj-target-elisp "dot" 19 | :name "dot" 20 | :path "" 21 | :source '("wisent-dot.el" "dot-mode.el") 22 | :aux-packages '("cedet-compat" "cedet" "eieio") 23 | :pre-load-packages '("cedet-compat") 24 | ) 25 | (ede-proj-target-elisp "Mode" 26 | :name "Mode" 27 | :path "" 28 | :source '("mode.el") 29 | :aux-packages '("cedet-compat" "cedet" "eieio") 30 | :pre-load-packages '("cedet-compat") 31 | ) 32 | (ede-proj-target-elisp "hacks" 33 | :name "hacks" 34 | :path "" 35 | :source '("picture-hack.el") 36 | :aux-packages '("cedet-compat" "cedet" "eieio") 37 | :pre-load-packages '("cedet-compat") 38 | ) 39 | (ede-proj-target-elisp "cogre" 40 | :name "cogre" 41 | :path "" 42 | :source '("uml.el" "periodic.el" "ascii.el" "srecode.el" "convert.el" "layout.el" "semantic.el") 43 | :versionsource '("cogre.el") 44 | :aux-packages '("cedet-compat" "cedet" "eieio") 45 | :pre-load-packages '("cedet-compat") 46 | ) 47 | ) 48 | :web-site-url "http://cedet.sourceforge.net/cogre.shtml" 49 | :web-site-directory "/r@scp:shell.sourceforge.net:cedet/htdocs" 50 | :web-site-file "cogre.shtml" 51 | :ftp-upload-site "/ftp@upload.sourceforge.net:/incoming" 52 | :variables '(("EMACSFLAGS" . "-batch --no-site-file --eval '(setq debug-on-error t)' -l \"../../../cedet-remove-builtin.el\"") 53 | ("EMACS" . "@echo \" > $@\";emacs") 54 | ;; This is a hack we still need for Emacs 23.1 55 | ("AUTOGENFLAGS" . "-L ../ --eval '(progn (require (quote cedet-compat)) (require (quote mode-local)))'")) 56 | :configuration-variables 'nil 57 | :metasubproject 't 58 | ) 59 | -------------------------------------------------------------------------------- /lisp/cedet/cogre/test.dot: -------------------------------------------------------------------------------- 1 | digraph structs { 2 | node [shape=record]; 3 | class1 [label="{class1|||}"]; 4 | class2 [shape=record,label="{class2|||}"]; 5 | class3 [shape=record,label="{class3|||}"]; 6 | 7 | class1 -> class2; 8 | class1 -> class3; 9 | } 10 | -------------------------------------------------------------------------------- /lisp/cedet/ede/Project.ede: -------------------------------------------------------------------------------- 1 | ;; Object EDE 2 | ;; EDE Project Files are auto generated: Do Not Edit 3 | (ede-proj-project "EDE" 4 | :file "Project.ede" 5 | :name "EDE" 6 | :version "1.2beta" 7 | :targets (list 8 | (ede-proj-target-elisp-autoloads "autoloads" 9 | :name "autoloads" 10 | :path "" 11 | :partofall 'nil 12 | ) 13 | (ede-proj-target-elisp "ede" 14 | :name "ede" 15 | :path "" 16 | :source '("auto.el" "base.el" "custom.el" "dired.el" "source.el" "util.el" "system.el" "speedbar.el" "srecode.el" "files.el" "locate.el" "make.el" "shell.el" "android.el" "m3.el" "arduino.el") 17 | :versionsource '("ede.el") 18 | :aux-packages '("cedet-compat" "cedet" "eieio") 19 | :pre-load-packages '("cedet-compat") 20 | ) 21 | (ede-proj-target-elisp "proj-project" 22 | :name "proj-project" 23 | :path "" 24 | :source '("proj.el" "pmake.el" "pconf.el" "proj-elisp.el" "proj-misc.el" "proj-obj.el" "proj-prog.el" "proj-archive.el" "proj-shared.el" "proj-info.el" "proj-scheme.el" "proj-aux.el" "proj-comp.el") 25 | :aux-packages '("cedet-compat" "cedet" "eieio") 26 | :pre-load-packages '("cedet-compat") 27 | ) 28 | (ede-proj-target-elisp "projects" 29 | :name "projects" 30 | :path "" 31 | :source '("project-am.el" "cpp-root.el" "emacs.el" "linux.el" "generic.el" "java-root.el" "jvm-base.el" "maven2.el" "lein2.el" "ant.el") 32 | :aux-packages '("cedet-compat" "cedet" "eieio") 33 | :pre-load-packages '("cedet-compat") 34 | ) 35 | (ede-proj-target-elisp "aux-lisp" 36 | :name "aux-lisp" 37 | :path "" 38 | :source '("autoconf-edit.el" "makefile-edit.el") 39 | :aux-packages '("cedet-compat" "cedet" "eieio") 40 | :pre-load-packages '("cedet-compat") 41 | ) 42 | ) 43 | :web-site-url "http://cedet.sourceforge.net/ede.shtml" 44 | :web-site-directory "../www" 45 | :web-site-file "ede.shtml" 46 | :ftp-upload-site "/ftp@upload.sourceforge.net:/incoming" 47 | :variables '(("EMACSFLAGS" . "-batch --no-site-file --eval '(setq debug-on-error t)' -l \"../../../cedet-remove-builtin.el\"") ("EMACS" . "@echo \" > $@\";emacs") ("AUTOGENFLAGS" . "-L ../ --eval '(progn (require (quote cedet-compat)) (require (quote mode-local)))'")) 48 | :configuration-variables 'nil 49 | :metasubproject 't 50 | ) 51 | -------------------------------------------------------------------------------- /lisp/cedet/ede/m3.el: -------------------------------------------------------------------------------- 1 | ;;; ede/m3.el --- Project options in CEDET m3 2 | ;; 3 | ;; Copyright (C) 2011 Eric M. Ludlam 4 | ;; 5 | ;; Author: Eric M. Ludlam 6 | ;; 7 | ;; This program is free software; you can redistribute it and/or 8 | ;; modify it under the terms of the GNU General Public License as 9 | ;; published by the Free Software Foundation; either version 2, or (at 10 | ;; your option) any later version. 11 | 12 | ;; This program is distributed in the hope that it will be useful, but 13 | ;; WITHOUT ANY WARRANTY; without even the implied warranty of 14 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | ;; General Public License for more details. 16 | 17 | ;; You should have received a copy of the GNU General Public License 18 | ;; along with this program; see the file COPYING. If not, write to 19 | ;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 20 | ;; Boston, MA 02110-1301, USA. 21 | 22 | ;;; Commentary: 23 | ;; 24 | ;; Supply options from the CEDET m3 option specific to the current project. 25 | 26 | ;;; Code: 27 | 28 | (require 'ede) 29 | (require 'cedet-m3) 30 | 31 | (defun ede-m3-ede-items () 32 | "Return a list of menu items based on EDE project stats." 33 | ;; Only create items if EDE is active. 34 | (when ede-object 35 | (let ((objs (if (eieio-object-p ede-object) 36 | (list ede-object) 37 | ede-object)) 38 | (items nil)) 39 | ;; Do this for every target. 40 | (dolist (OBJ objs) 41 | ;; If the active item is a PROJECT, provide a project level compile. 42 | (if (ede-project-child-p OBJ) 43 | (setq items 44 | (cons (cedet-m3-menu-item 45 | (concat "Compile Project: (" (ede-name OBJ) ")") 46 | 'ede-compile-project 47 | :active t 48 | :help "Compile the current project with EDE.") 49 | items)) 50 | ;; Else, we can compile a target. 51 | (setq items 52 | (cons (cedet-m3-menu-item 53 | (concat "Compile Target: (" (ede-name OBJ) ")") 54 | `(lambda () (interactive) (project-compile-target ,OBJ)) 55 | :active t 56 | :help "Compile the current target with EDE.") 57 | items)))) 58 | items))) 59 | 60 | ;;;###autoload 61 | (defun ede-m3-install () 62 | (add-hook 'cedet-m3-menu-query-hooks 'ede-m3-ede-items)) 63 | 64 | (provide 'ede/m3) 65 | 66 | ;; Local variables: 67 | ;; generated-autoload-file: "loaddefs.el" 68 | ;; generated-autoload-load-name: "ede/m3" 69 | ;; End: 70 | 71 | ;;; ede-m3.el ends here 72 | -------------------------------------------------------------------------------- /lisp/cedet/ede/proj-aux.el: -------------------------------------------------------------------------------- 1 | ;;; ede/proj-aux.el --- EDE Generic Project auxiliary file support 2 | 3 | ;; Copyright (C) 1998-2000, 2007, 2009-2013 Free Software Foundation, 4 | ;; Inc. 5 | 6 | ;; Author: Eric M. Ludlam 7 | ;; Keywords: project, make 8 | 9 | ;; This file is part of GNU Emacs. 10 | 11 | ;; GNU Emacs is free software: you can redistribute it and/or modify 12 | ;; it under the terms of the GNU General Public License as published by 13 | ;; the Free Software Foundation, either version 3 of the License, or 14 | ;; (at your option) any later version. 15 | 16 | ;; GNU Emacs is distributed in the hope that it will be useful, 17 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | ;; GNU General Public License for more details. 20 | 21 | ;; You should have received a copy of the GNU General Public License 22 | ;; along with GNU Emacs. If not, see . 23 | 24 | ;;; Commentary: 25 | ;; 26 | ;; Handle auxiliary files (README, FAQ, etc) in and EDE Project file. 27 | 28 | (require 'ede/proj) 29 | (require 'ede/pmake) 30 | 31 | ;;; Code: 32 | (defclass ede-proj-target-aux (ede-proj-target) 33 | ((sourcetype :initform '(ede-aux-source))) 34 | "This target consists of aux files such as READMEs and COPYING.") 35 | 36 | (defvar ede-aux-source 37 | (ede-sourcecode "ede-aux-source-txt" 38 | :name "Auxiliary Text" 39 | :sourcepattern "^[A-Z]+$\\|\\.txt$") 40 | "Miscellaneous fields definition.") 41 | 42 | (defmethod ede-proj-makefile-sourcevar ((this ede-proj-target-aux)) 43 | "Return the variable name for THIS's sources." 44 | (concat (ede-pmake-varname this) "_AUX")) 45 | 46 | (provide 'ede/proj-aux) 47 | 48 | ;;; ede/proj-aux.el ends here 49 | -------------------------------------------------------------------------------- /lisp/cedet/ede/proj-scheme.el: -------------------------------------------------------------------------------- 1 | ;;; ede/proj-scheme.el --- EDE Generic Project scheme (guile) support 2 | 3 | ;; Copyright (C) 1998-2000, 2009-2013 Free Software Foundation, Inc. 4 | 5 | ;; Author: Eric M. Ludlam 6 | ;; Keywords: project, make, scheme 7 | 8 | ;; This file is part of GNU Emacs. 9 | 10 | ;; GNU Emacs is free software: you can redistribute it and/or modify 11 | ;; it under the terms of the GNU General Public License as published by 12 | ;; the Free Software Foundation, either version 3 of the License, or 13 | ;; (at your option) any later version. 14 | 15 | ;; GNU Emacs is distributed in the hope that it will be useful, 16 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | ;; GNU General Public License for more details. 19 | 20 | ;; You should have received a copy of the GNU General Public License 21 | ;; along with GNU Emacs. If not, see . 22 | 23 | ;;; Commentary: 24 | ;; 25 | ;; Handle scheme (Guile) in and EDE Project file. 26 | ;; This is a specialized do nothing class. 27 | 28 | (require 'ede/proj) 29 | (require 'ede/autoconf-edit) 30 | 31 | ;;; Code: 32 | (defclass ede-proj-target-scheme (ede-proj-target) 33 | ((menu :initform nil) 34 | (keybindings :initform nil) 35 | (interpreter :initarg :interpreter 36 | :initform "guile" 37 | :type string 38 | :custom string 39 | :documentation "The preferred interpreter for this code.") 40 | ) 41 | "This target consists of scheme files.") 42 | 43 | (defmethod ede-proj-tweak-autoconf ((this ede-proj-target-scheme)) 44 | "Tweak the configure file (current buffer) to accommodate THIS." 45 | (autoconf-insert-new-macro "AM_INIT_GUILE_MODULE")) 46 | 47 | (provide 'ede/proj-scheme) 48 | 49 | ;;; ede/proj-scheme.el ends here 50 | -------------------------------------------------------------------------------- /lisp/cedet/semantic/analyze/Makefile: -------------------------------------------------------------------------------- 1 | # Automatically Generated Makefile by EDE. 2 | # For use with: make 3 | # Relative File Name: cedet/semantic/analyze/Makefile 4 | # 5 | # DO NOT MODIFY THIS FILE OR YOUR CHANGES MAY BE LOST. 6 | # EDE is the Emacs Development Environment. 7 | # http://cedet.sourceforge.net/ede.shtml 8 | # 9 | require=$(foreach r,$(1),(require (quote $(r)))) 10 | EMACSFLAGS=-batch --no-site-file --eval '(setq debug-on-error t)' -l "../../../../cedet-remove-builtin.el" 11 | EMACS=@echo " > $@";emacs 12 | AUTOGENFLAGS=-L ../ --eval '(progn (require (quote cedet-compat)) (require (quote mode-local)))' 13 | 14 | top=../../../ 15 | ede_FILES=Project.ede Makefile 16 | 17 | analyze_LISP=complete.el debug.el fcn.el refs.el 18 | LOADPATH= ../../../eieio/ ../../ ../../ 19 | VERSION=1.1beta 20 | DISTDIR=$(top)cedet-topdir-$(VERSION)/cedet/semantic/analyze 21 | 22 | 23 | 24 | all: analyze 25 | 26 | %.elc: %.el 27 | $(EMACS) $(EMACSFLAGS) $(addprefix -L ,$(LOADPATH)) --eval '(progn $(call require, $(PRELOADS)))' -f batch-byte-compile $^ 28 | 29 | .PHONY: analyze 30 | analyze: $(addsuffix c, $(analyze_LISP)) 31 | analyze: PRELOADS=cedet-compat 32 | 33 | tags: 34 | 35 | 36 | clean: 37 | rm -f *.elc 38 | 39 | .PHONY: dist 40 | 41 | dist: 42 | mkdir $(DISTDIR) 43 | cp $(analyze_LISP) $(ede_FILES) $(DISTDIR) 44 | 45 | Makefile: Project.ede 46 | @echo Makefile is out of date! It needs to be regenerated by EDE. 47 | @echo If you have not modified Project.ede, you can use 'touch' to update the Makefile time stamp. 48 | @false 49 | 50 | 51 | 52 | # End of Makefile 53 | -------------------------------------------------------------------------------- /lisp/cedet/semantic/analyze/Project.ede: -------------------------------------------------------------------------------- 1 | ;; Object ctags 2 | ;; EDE project file. 3 | (ede-proj-project "semantic/analyze" 4 | :name "Analyzer" 5 | :file "Project.ede" 6 | :targets (list 7 | (ede-proj-target-elisp "analyze" 8 | :name "analyze" 9 | :path "" 10 | :source '("complete.el" "debug.el" "fcn.el" "refs.el") 11 | :aux-packages '("cedet-compat" "cedet" "eieio") 12 | :pre-load-packages '("cedet-compat") 13 | ) 14 | ) 15 | :variables '(("EMACSFLAGS" . "-batch --no-site-file --eval '(setq debug-on-error t)' -l \"../../../../cedet-remove-builtin.el\"") 16 | ("EMACS" . "@echo \" > $@\";emacs") 17 | ;; This is a hack we still need for Emacs 23.1 18 | ("AUTOGENFLAGS" . "-L ../ --eval '(progn (require (quote cedet-compat)) (require (quote mode-local)))'")) 19 | ) 20 | -------------------------------------------------------------------------------- /lisp/cedet/semantic/bovine/Project.ede: -------------------------------------------------------------------------------- 1 | ;; Object semantic/bovine 2 | ;; EDE project file. 3 | (ede-proj-project "semantic/bovine" 4 | :name "bovinator" 5 | :file "Project.ede" 6 | :targets (list 7 | (semantic-ede-proj-target-grammar "by" 8 | :name "by" 9 | :path "" 10 | :source '("c.by" "make.by" "scm.by" "erlang.by" "f90.by") 11 | ) 12 | (ede-proj-target-elisp "bovinator" 13 | :name "bovinator" 14 | :path "" 15 | :source '("grammar.el" "debug.el" "grammar-macros.el") 16 | :aux-packages '("cedet-compat" "cedet" "eieio") 17 | :pre-load-packages '("cedet-compat") 18 | ) 19 | (ede-proj-target-elisp "languages" 20 | :name "languages" 21 | :path "" 22 | :source '("c.el" "el.el" "make.el" "scm.el" "erlang.el" "gcc.el" "f90.el" "clang.el") 23 | :aux-packages '("cedet-compat" "cedet" "eieio") 24 | :pre-load-packages '("cedet-compat") 25 | ) 26 | ) 27 | :variables '(("EMACSFLAGS" . "-batch --no-site-file --eval '(setq debug-on-error t)' -l \"../../../../cedet-remove-builtin.el\"") 28 | ("EMACS" . "@echo \" > $@\";emacs") 29 | ;; This is a hack we still need for Emacs 23.1 30 | ("AUTOGENFLAGS" . "-L ../../ --eval '(progn (require (quote cedet-compat)) (require (quote mode-local)))'")) 31 | ) 32 | -------------------------------------------------------------------------------- /lisp/cedet/semantic/decorate/Makefile: -------------------------------------------------------------------------------- 1 | # Automatically Generated Makefile by EDE. 2 | # For use with: make 3 | # Relative File Name: cedet/semantic/decorate/Makefile 4 | # 5 | # DO NOT MODIFY THIS FILE OR YOUR CHANGES MAY BE LOST. 6 | # EDE is the Emacs Development Environment. 7 | # http://cedet.sourceforge.net/ede.shtml 8 | # 9 | require=$(foreach r,$(1),(require (quote $(r)))) 10 | EMACSFLAGS=-batch --no-site-file --eval '(setq debug-on-error t)' -l "../../../../cedet-remove-builtin.el" 11 | EMACS=@echo " > $@";emacs 12 | AUTOGENFLAGS=-L ../../ --eval '(progn (require (quote cedet-compat)) (require (quote mode-local)))' 13 | 14 | top=../../../ 15 | ede_FILES=Project.ede Makefile 16 | 17 | ectags_LISP=include.el mode.el 18 | LOADPATH= ../../../eieio/ ../../ ../../ 19 | VERSION=1.1beta 20 | DISTDIR=$(top)cedet-topdir-$(VERSION)/cedet/semantic/decorate 21 | 22 | 23 | 24 | all: ectags 25 | 26 | %.elc: %.el 27 | $(EMACS) $(EMACSFLAGS) $(addprefix -L ,$(LOADPATH)) --eval '(progn $(call require, $(PRELOADS)))' -f batch-byte-compile $^ 28 | 29 | .PHONY: ectags 30 | ectags: $(addsuffix c, $(ectags_LISP)) 31 | ectags: PRELOADS=cedet-compat 32 | 33 | tags: 34 | 35 | 36 | clean: 37 | rm -f *.elc 38 | 39 | .PHONY: dist 40 | 41 | dist: 42 | mkdir $(DISTDIR) 43 | cp $(ectags_LISP) $(ede_FILES) $(DISTDIR) 44 | 45 | Makefile: Project.ede 46 | @echo Makefile is out of date! It needs to be regenerated by EDE. 47 | @echo If you have not modified Project.ede, you can use 'touch' to update the Makefile time stamp. 48 | @false 49 | 50 | 51 | 52 | # End of Makefile 53 | -------------------------------------------------------------------------------- /lisp/cedet/semantic/decorate/Project.ede: -------------------------------------------------------------------------------- 1 | ;; Object ctags 2 | ;; EDE project file. 3 | (ede-proj-project "semantic/decorate" 4 | :name "Decorator" 5 | :file "Project.ede" 6 | :targets (list 7 | (ede-proj-target-elisp "decorate" 8 | :name "ectags" 9 | :path "" 10 | :source '("include.el" "mode.el") 11 | :aux-packages '("cedet-compat" "cedet" "eieio") 12 | :pre-load-packages '("cedet-compat") 13 | ) 14 | ) 15 | :variables '(("EMACSFLAGS" . "-batch --no-site-file --eval '(setq debug-on-error t)' -l \"../../../../cedet-remove-builtin.el\"") 16 | ("EMACS" . "@echo \" > $@\";emacs") 17 | ;; This is a hack we still need for Emacs 23.1 18 | ("AUTOGENFLAGS" . "-L ../../ --eval '(progn (require (quote cedet-compat)) (require (quote mode-local)))'")) 19 | ) 20 | -------------------------------------------------------------------------------- /lisp/cedet/semantic/ectags/Makefile: -------------------------------------------------------------------------------- 1 | # Automatically Generated Makefile by EDE. 2 | # For use with: make 3 | # Relative File Name: cedet/semantic/ectags/Makefile 4 | # 5 | # DO NOT MODIFY THIS FILE OR YOUR CHANGES MAY BE LOST. 6 | # EDE is the Emacs Development Environment. 7 | # http://cedet.sourceforge.net/ede.shtml 8 | # 9 | require=$(foreach r,$(1),(require (quote $(r)))) 10 | EMACSFLAGS=-batch --no-site-file --eval '(setq debug-on-error t)' -l "../../../../cedet-remove-builtin.el" 11 | EMACS=@echo " > $@";emacs 12 | AUTOGENFLAGS=-L ../../ --eval '(progn (require (quote cedet-compat)) (require (quote mode-local)))' 13 | 14 | top=../../../ 15 | ede_FILES=Project.ede Makefile 16 | 17 | ectags_LISP=db.el util.el lang.el lang2.el parse.el 18 | LOADPATH= ../../../eieio/ ../../ ../../ 19 | VERSION=1.1beta 20 | DISTDIR=$(top)cedet-topdir-$(VERSION)/cedet/semantic/ectags 21 | 22 | 23 | 24 | all: ectags 25 | 26 | %.elc: %.el 27 | $(EMACS) $(EMACSFLAGS) $(addprefix -L ,$(LOADPATH)) --eval '(progn $(call require, $(PRELOADS)))' -f batch-byte-compile $^ 28 | 29 | .PHONY: ectags 30 | ectags: $(addsuffix c, $(ectags_LISP)) 31 | ectags: PRELOADS=cedet-compat 32 | 33 | tags: 34 | 35 | 36 | clean: 37 | rm -f *.elc 38 | 39 | .PHONY: dist 40 | 41 | dist: 42 | mkdir $(DISTDIR) 43 | cp $(ectags_LISP) $(ede_FILES) $(DISTDIR) 44 | 45 | Makefile: Project.ede 46 | @echo Makefile is out of date! It needs to be regenerated by EDE. 47 | @echo If you have not modified Project.ede, you can use 'touch' to update the Makefile time stamp. 48 | @false 49 | 50 | 51 | 52 | # End of Makefile 53 | -------------------------------------------------------------------------------- /lisp/cedet/semantic/ectags/Project.ede: -------------------------------------------------------------------------------- 1 | ;; Object ctags 2 | ;; EDE project file. 3 | (ede-proj-project "semantic/ectags" 4 | :name "ectags" 5 | :file "Project.ede" 6 | :targets (list 7 | (ede-proj-target-elisp "ectags" 8 | :name "ectags" 9 | :path "" 10 | :source '("db.el" "util.el" "lang.el" "lang2.el" "parse.el") 11 | :aux-packages '("cedet-compat" "cedet" "eieio") 12 | :pre-load-packages '("cedet-compat") 13 | ) 14 | ) 15 | :variables '(("EMACSFLAGS" . "-batch --no-site-file --eval '(setq debug-on-error t)' -l \"../../../../cedet-remove-builtin.el\"") 16 | ("EMACS" . "@echo \" > $@\";emacs") 17 | ;; This is a hack we still need for Emacs 23.1 18 | ("AUTOGENFLAGS" . "-L ../../ --eval '(progn (require (quote cedet-compat)) (require (quote mode-local)))'")) 19 | ) 20 | -------------------------------------------------------------------------------- /lisp/cedet/semantic/symref/Makefile: -------------------------------------------------------------------------------- 1 | # Automatically Generated Makefile by EDE. 2 | # For use with: make 3 | # Relative File Name: cedet/semantic/symref/Makefile 4 | # 5 | # DO NOT MODIFY THIS FILE OR YOUR CHANGES MAY BE LOST. 6 | # EDE is the Emacs Development Environment. 7 | # http://cedet.sourceforge.net/ede.shtml 8 | # 9 | require=$(foreach r,$(1),(require (quote $(r)))) 10 | EMACSFLAGS=-batch --no-site-file --eval '(setq debug-on-error t)' -l "../../../../cedet-remove-builtin.el" 11 | EMACS=@echo " > $@";emacs 12 | AUTOGENFLAGS=-L ../../ --eval '(progn (require (quote cedet-compat)) (require (quote mode-local)))' 13 | 14 | top=../../../ 15 | ede_FILES=Project.ede Makefile 16 | 17 | symref_LISP=global.el grep.el list.el idutils.el cscope.el filter.el 18 | LOADPATH= ../../../eieio/ ../../ ../../ 19 | VERSION=1.1beta 20 | DISTDIR=$(top)cedet-topdir-$(VERSION)/cedet/semantic/symref 21 | 22 | 23 | 24 | all: symref 25 | 26 | %.elc: %.el 27 | $(EMACS) $(EMACSFLAGS) $(addprefix -L ,$(LOADPATH)) --eval '(progn $(call require, $(PRELOADS)))' -f batch-byte-compile $^ 28 | 29 | .PHONY: symref 30 | symref: $(addsuffix c, $(symref_LISP)) 31 | symref: PRELOADS=cedet-compat 32 | 33 | tags: 34 | 35 | 36 | clean: 37 | rm -f *.elc 38 | 39 | .PHONY: dist 40 | 41 | dist: 42 | mkdir $(DISTDIR) 43 | cp $(symref_LISP) $(ede_FILES) $(DISTDIR) 44 | 45 | Makefile: Project.ede 46 | @echo Makefile is out of date! It needs to be regenerated by EDE. 47 | @echo If you have not modified Project.ede, you can use 'touch' to update the Makefile time stamp. 48 | @false 49 | 50 | 51 | 52 | # End of Makefile 53 | -------------------------------------------------------------------------------- /lisp/cedet/semantic/symref/Project.ede: -------------------------------------------------------------------------------- 1 | ;; Object Symref 2 | ;; EDE project file. 3 | (ede-proj-project "semantic/symref" 4 | :name "Symref" 5 | :file "Project.ede" 6 | :targets (list 7 | (ede-proj-target-elisp "symref" 8 | :name "symref" 9 | :path "" 10 | :source '("global.el" "grep.el" "list.el" "idutils.el" "cscope.el" "filter.el") 11 | :aux-packages '("cedet-compat" "cedet" "eieio") 12 | :pre-load-packages '("cedet-compat") 13 | ) 14 | ) 15 | :variables '(("EMACSFLAGS" . "-batch --no-site-file --eval '(setq debug-on-error t)' -l \"../../../../cedet-remove-builtin.el\"") 16 | ("EMACS" . "@echo \" > $@\";emacs") 17 | ;; This is a hack we still need for Emacs 23.1 18 | ("AUTOGENFLAGS" . "-L ../../ --eval '(progn (require (quote cedet-compat)) (require (quote mode-local)))'")) 19 | ) 20 | -------------------------------------------------------------------------------- /lisp/cedet/semantic/wisent/Project.ede: -------------------------------------------------------------------------------- 1 | ;; Object semantic/wisent 2 | ;; EDE project file. 3 | (ede-proj-project "semantic/wisent" 4 | :name "wisent" 5 | :file "Project.ede" 6 | :targets (list 7 | (semantic-ede-proj-target-grammar "wy" 8 | :name "wy" 9 | :path "" 10 | :source '("java-tags.wy" "calc.wy" "java.wy" "python.wy" "javascript.wy") 11 | ) 12 | (ede-proj-target-elisp "tools" 13 | :name "tools" 14 | :path "" 15 | :source '("bison-wisent.el") 16 | ) 17 | (ede-proj-target-elisp "wisent" 18 | :name "wisent" 19 | :path "" 20 | :source '("wisent.el" "comp.el" "expr.el" "grammar.el" "debug.el" "grammar-macros.el") 21 | :aux-packages '("cedet-compat" "cedet" "eieio") 22 | :pre-load-packages '("cedet-compat") 23 | ) 24 | (ede-proj-target-elisp "languages" 25 | :name "languages" 26 | :path "" 27 | :source '("calc.el" "java.el" "java-tags.el" "python.el" "javascript.el") 28 | :aux-packages '("cedet-compat" "cedet" "eieio") 29 | :pre-load-packages '("cedet-compat") 30 | ) 31 | ) 32 | :configuration-variables 'nil 33 | :variables '(("EMACSFLAGS" . "-batch --no-site-file --eval '(setq debug-on-error t)' -l \"../../../../cedet-remove-builtin.el\"") 34 | ("EMACS" . "@echo \" > $@\";emacs") 35 | ;; This is a hack we still need for Emacs 23.1 36 | ("AUTOGENFLAGS" . "-L ../../ --eval '(progn (require (quote cedet-compat)) (require (quote mode-local)))'")) 37 | ) 38 | -------------------------------------------------------------------------------- /lisp/cedet/srecode.el: -------------------------------------------------------------------------------- 1 | ;;; srecode.el --- Semantic buffer evaluator. 2 | 3 | ;;; Copyright (C) 2005, 2007-2013 Free Software Foundation, Inc. 4 | 5 | ;; Author: Eric M. Ludlam 6 | ;; Keywords: codegeneration 7 | ;; Version: 1.2 8 | 9 | ;; This file is part of GNU Emacs. 10 | 11 | ;; GNU Emacs is free software: you can redistribute it and/or modify 12 | ;; it under the terms of the GNU General Public License as published by 13 | ;; the Free Software Foundation, either version 3 of the License, or 14 | ;; (at your option) any later version. 15 | 16 | ;; GNU Emacs is distributed in the hope that it will be useful, 17 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | ;; GNU General Public License for more details. 20 | 21 | ;; You should have received a copy of the GNU General Public License 22 | ;; along with GNU Emacs. If not, see . 23 | 24 | ;;; Commentary: 25 | ;; 26 | ;; Semantic does the job of converting source code into useful tag 27 | ;; information. The set of `semantic-format-tag' functions has one 28 | ;; function that will create a prototype of a tag, which has severe 29 | ;; issues of complexity (in the format tag file itself) and inaccuracy 30 | ;; (for the purpose of C++ code.) 31 | ;; 32 | ;; Contemplation of the simplistic problem within the scope of 33 | ;; semantic showed that the solution was more complex than could 34 | ;; possibly be handled in semantic/format.el. Semantic Recode, or 35 | ;; srecode is a rich API for generating code out of semantic tags, or 36 | ;; recoding the tags. 37 | ;; 38 | ;; See the srecode manual for specific details. 39 | 40 | (require 'eieio) 41 | (require 'mode-local) 42 | (load "srecode/loaddefs" nil 'nomessage) 43 | 44 | (defvar srecode-version "1.2" 45 | "Current version of the Semantic Recoder.") 46 | 47 | ;;; Code: 48 | (defgroup srecode nil 49 | "Semantic Recoder." 50 | :group 'extensions 51 | :group 'tools) 52 | 53 | (provide 'srecode) 54 | 55 | ;;; srecode.el ends here 56 | -------------------------------------------------------------------------------- /lisp/cedet/srecode/Project.ede: -------------------------------------------------------------------------------- 1 | ;; Object SRecode 2 | ;; EDE project file. 3 | (ede-proj-project "cedet/srecode" 4 | :name "srecode" 5 | :version "1.1" 6 | :file "Project.ede" 7 | :targets (list 8 | (ede-proj-target-elisp-autoloads "autoloads" 9 | :name "autoloads" 10 | :path "" 11 | :partofall nil 12 | :autoload-file "loaddefs.el" 13 | ) 14 | (semantic-ede-proj-target-grammar "lang" 15 | :name "lang" 16 | :path "" 17 | :source '("srt.wy") 18 | ) 19 | (ede-proj-target-elisp "srecode" 20 | :name "srecode" 21 | :path "" 22 | :source '("mode.el" "compile.el" "insert.el" "semantic.el" "template.el" "dictionary.el" "args.el" "table.el" "filters.el" "find.el" "ctxt.el" "getset.el" "cpp.el" "expandproto.el" "el.el" "srt.el" "texi.el" "map.el" "extract.el" "java.el" "fields.el" "android.el" "document.el" "m3.el" "srt-mode.el") 23 | :aux-packages '("cedet-compat" "cedet" "eieio") 24 | :pre-load-packages '("cedet-compat") 25 | ) 26 | ) 27 | :metasubproject 't 28 | :variables '(("EMACSFLAGS" . "-batch --no-site-file --eval '(setq debug-on-error t)' -l \"../../../cedet-remove-builtin.el\"") 29 | ("EMACS" . "@echo \" > $@\";emacs") 30 | ;; This is a hack we still need for Emacs 23.1 31 | ("AUTOGENFLAGS" . "-L ../ --eval '(progn (require (quote cedet-compat)) (require (quote mode-local)))'")) 32 | ) 33 | -------------------------------------------------------------------------------- /lisp/cedet/srecode/android.el: -------------------------------------------------------------------------------- 1 | ;;; srecode/android.el --- SRecoder support for Android projects 2 | ;; 3 | ;; Copyright (C) 2011 Eric M. Ludlam 4 | ;; 5 | ;; Author: Eric M. Ludlam 6 | ;; 7 | ;; This program is free software; you can redistribute it and/or 8 | ;; modify it under the terms of the GNU General Public License as 9 | ;; published by the Free Software Foundation; either version 2, or (at 10 | ;; your option) any later version. 11 | 12 | ;; This program is distributed in the hope that it will be useful, but 13 | ;; WITHOUT ANY WARRANTY; without even the implied warranty of 14 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | ;; General Public License for more details. 16 | 17 | ;; You should have received a copy of the GNU General Public License 18 | ;; along with this program; see the file COPYING. If not, write to 19 | ;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 20 | ;; Boston, MA 02110-1301, USA. 21 | 22 | ;;; Commentary: 23 | ;; 24 | ;; Specialized support for developing Android applications with SRecode. 25 | 26 | ;;; Code: 27 | 28 | ;;;###autoload 29 | (defun srecode-semantic-handle-:android (dict) 30 | "Add android specific symbols into DICT based on the current project." 31 | nil) 32 | 33 | (defun srecode-android-read-resource-id (prompt &optional initial-input history default-value) 34 | "Like completing read for Android resource id names. 35 | PROMPT is a string prompting the user in the minibuffer. 36 | INITIAL-INPUT is the default value to display in the minibuffer. 37 | HISTORY is a history variable to use. 38 | DEFAULT-VALUE is the value to return if the user hits RET without typing anything." 39 | ;; @TODO - Convert to completing read. 40 | (read-string prompt initial-input history default-value)) 41 | 42 | (provide 'srecode/android) 43 | 44 | ;;; srecode-android.el ends here 45 | -------------------------------------------------------------------------------- /lisp/cedet/srecode/filters.el: -------------------------------------------------------------------------------- 1 | ;;; srecode/filters.el --- Filters for use in template variables. 2 | 3 | ;; Copyright (C) 2007-2013 Free Software Foundation, Inc. 4 | 5 | ;; Author: Eric M. Ludlam 6 | 7 | ;; This file is part of GNU Emacs. 8 | 9 | ;; GNU Emacs is free software: you can redistribute it and/or modify 10 | ;; it under the terms of the GNU General Public License as published by 11 | ;; the Free Software Foundation, either version 3 of the License, or 12 | ;; (at your option) any later version. 13 | 14 | ;; GNU Emacs is distributed in the hope that it will be useful, 15 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | ;; GNU General Public License for more details. 18 | 19 | ;; You should have received a copy of the GNU General Public License 20 | ;; along with GNU Emacs. If not, see . 21 | 22 | ;;; Commentary: 23 | ;; 24 | ;; Various useful srecoder template functions. 25 | 26 | ;;; Code: 27 | 28 | (require 'newcomment) 29 | 30 | (declare-function srecode-dictionary-lookup-name "srecode/dictionary") 31 | (defvar srecode-inserter-variable-current-dictionary) 32 | 33 | 34 | (defun srecode-comment-prefix (str) 35 | "Prefix each line of STR with the comment prefix characters." 36 | (let* ((dict srecode-inserter-variable-current-dictionary) 37 | ;; Derive the comment characters to put in front of each line. 38 | (cs (or (and dict 39 | (srecode-dictionary-lookup-name dict "comment_prefix")) 40 | (and comment-multi-line comment-continue) 41 | (and (not comment-multi-line) comment-start))) 42 | (strs (split-string str "\n")) 43 | (newstr "") 44 | ) 45 | (while strs 46 | (cond ((and (not comment-multi-line) (string= (car strs) "")) 47 | ; (setq newstr (concat newstr "\n"))) 48 | ) 49 | (t 50 | (setq newstr (concat newstr cs " " (car strs))))) 51 | (setq strs (cdr strs)) 52 | (when strs (setq newstr (concat newstr "\n")))) 53 | newstr)) 54 | 55 | (provide 'srecode/filters) 56 | 57 | ;;; srecode/filters.el ends here 58 | 59 | -------------------------------------------------------------------------------- /lisp/cedet/srecode/m3.el: -------------------------------------------------------------------------------- 1 | ;;; srecode/m3.el --- Template insertion options for CEDET M3 2 | ;; 3 | ;; Copyright (C) 2011 Eric M. Ludlam 4 | ;; 5 | ;; Author: Eric M. Ludlam 6 | ;; 7 | ;; This program is free software; you can redistribute it and/or 8 | ;; modify it under the terms of the GNU General Public License as 9 | ;; published by the Free Software Foundation; either version 2, or (at 10 | ;; your option) any later version. 11 | 12 | ;; This program is distributed in the hope that it will be useful, but 13 | ;; WITHOUT ANY WARRANTY; without even the implied warranty of 14 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | ;; General Public License for more details. 16 | 17 | ;; You should have received a copy of the GNU General Public License 18 | ;; along with this program; see the file COPYING. If not, write to 19 | ;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 20 | ;; Boston, MA 02110-1301, USA. 21 | 22 | ;;; Commentary: 23 | ;; 24 | ;; Context sensitive template insertion suggestions for cedet-m3. 25 | 26 | (require 'cedet-m3) 27 | (require 'srecode) 28 | (require 'srecode/ctxt) 29 | (require 'srecode/semantic) 30 | (require 'srecode/document) 31 | 32 | ;;; Code: 33 | 34 | ;;;###autoload 35 | (defun srecode-m3-items () 36 | "Return a list of menu items based on SRecode features." 37 | (save-excursion 38 | (let ((sr-ctxt (srecode-calculate-context)) 39 | (sym (semantic-current-tag)) 40 | (items nil) 41 | ) 42 | (when (and sym (semantic-tag-of-class-p sym 'function)) 43 | (push (cedet-m3-menu-item 44 | (concat "Comment " (semantic-tag-name sym)) 45 | 'srecode-document-insert-function-comment 46 | :active t 47 | :help "Write/replace a comment for this tag.") 48 | items) 49 | ) 50 | 51 | ))) 52 | 53 | 54 | (provide 'srecode/m3) 55 | 56 | ;; Local variables: 57 | ;; generated-autoload-file: "loaddefs.el" 58 | ;; generated-autoload-load-name: "srecode/m3" 59 | ;; End: 60 | 61 | ;;; srecode-m3.el ends here 62 | -------------------------------------------------------------------------------- /lisp/eieio/Makefile: -------------------------------------------------------------------------------- 1 | # Automatically Generated Makefile by EDE. 2 | # For use with: make 3 | # Relative File Name: eieio/Makefile 4 | # 5 | # DO NOT MODIFY THIS FILE OR YOUR CHANGES MAY BE LOST. 6 | # EDE is the Emacs Development Environment. 7 | # http://cedet.sourceforge.net/ede.shtml 8 | # 9 | LOADPATH= ./ ../cedet/ 10 | require=$(foreach r,$(1),(require (quote $(r)))) 11 | EMACSFLAGS=-batch --no-site-file --eval '(setq debug-on-error t)' -l "../../cedet-remove-builtin.el" 12 | EMACS=@echo " > $@";emacs 13 | AUTOGENFLAGS=-L ../cedet --eval '(progn (require (quote cedet-compat)) (require (quote mode-local)))' 14 | 15 | top=../ 16 | ede_FILES=Project.ede Makefile 17 | 18 | LOADDEFS=loaddefs.el 19 | LOADDIRS=. 20 | eieio_LISP=eieio-core.el eieio.el eieio-opt.el eieio-custom.el eieio-base.el eieio-datadebug.el 21 | examples_LISP=chart.el eieio-speedbar.el 22 | VERSION=1.1beta 23 | DISTDIR=$(top)cedet-topdir-$(VERSION)/eieio 24 | 25 | 26 | 27 | all: eieio examples 28 | 29 | .PHONY: clean-autoloads 30 | clean-autoloads: 31 | rm -f $(LOADDEFS) 32 | 33 | .PHONY: autoloads 34 | autoloads: 35 | $(EMACS) $(EMACSFLAGS) $(AUTOGENFLAGS) $(addprefix -L ,$(LOADPATH)) --eval '(progn $(call require, $(PRELOADS)) (setq generated-autoload-file "$(abspath $(LOADDEFS))"))' -f batch-update-autoloads $(abspath $(LOADDIRS)) 36 | 37 | 38 | %.elc: %.el 39 | $(EMACS) $(EMACSFLAGS) $(addprefix -L ,$(LOADPATH)) --eval '(progn $(call require, $(PRELOADS)))' -f batch-byte-compile $^ 40 | 41 | .PHONY: eieio 42 | eieio: $(addsuffix c, $(eieio_LISP)) 43 | eieio: PRELOADS=cedet-compat 44 | 45 | .PHONY: examples 46 | examples: $(addsuffix c, $(examples_LISP)) 47 | examples: PRELOADS=cedet-compat 48 | 49 | tags: 50 | 51 | 52 | clean: 53 | rm -f *.elc 54 | 55 | .PHONY: dist 56 | 57 | dist: autoloads 58 | mkdir $(DISTDIR) 59 | cp loaddefs.el $(eieio_LISP) $(examples_LISP) $(ede_FILES) $(DISTDIR) 60 | 61 | Makefile: Project.ede 62 | @echo Makefile is out of date! It needs to be regenerated by EDE. 63 | @echo If you have not modified Project.ede, you can use 'touch' to update the Makefile time stamp. 64 | @false 65 | 66 | 67 | 68 | # End of Makefile 69 | -------------------------------------------------------------------------------- /lisp/eieio/Project.ede: -------------------------------------------------------------------------------- 1 | ;; Object eieio 2 | ;; EDE Project Files are auto generated: Do Not Edit 3 | (ede-proj-project "eieio" 4 | :name "eieio" 5 | :version "1.4" 6 | :file "Project.ede" 7 | :targets (list 8 | (ede-proj-target-elisp-autoloads "autoloads" 9 | :name "autoloads" 10 | :path "" 11 | :partofall nil 12 | :autoload-file "loaddefs.el" 13 | ) 14 | (ede-proj-target-elisp "eieio" 15 | :name "eieio" 16 | :path "" 17 | :source '("eieio-core.el" "eieio.el" "eieio-opt.el" "eieio-custom.el" "eieio-base.el" "eieio-datadebug.el") 18 | :aux-packages '("cedet-compat" "eieio") 19 | :pre-load-packages '("cedet-compat") 20 | ) 21 | (ede-proj-target-elisp "examples" 22 | :name "examples" 23 | :path "" 24 | :compiler 'ede-emacs-compiler 25 | :source '("chart.el" "eieio-speedbar.el") 26 | :aux-packages '("cedet-compat") 27 | :pre-load-packages '("cedet-compat") 28 | ) 29 | ) 30 | :web-site-url "http://cedet.sourceforge.net/eieio.shtml" 31 | :web-site-directory "/r@scp:shell.sourceforge.net:cedet/htdocs" 32 | :web-site-file "eieio.shtml" 33 | :ftp-upload-site "/ftp@upload.sourceforge.net:/incoming" 34 | :variables '(("EMACSFLAGS" . "-batch --no-site-file --eval '(setq debug-on-error t)' -l \"../../cedet-remove-builtin.el\"") 35 | ("EMACS" . "@echo \" > $@\";emacs") 36 | ;; This is a hack we still need for Emacs 23.1 37 | ("AUTOGENFLAGS" . "-L ../cedet --eval '(progn (require (quote cedet-compat)) (require (quote mode-local)))'")) 38 | :configuration-variables 'nil 39 | :metasubproject 't 40 | ) 41 | -------------------------------------------------------------------------------- /lisp/speedbar/Makefile: -------------------------------------------------------------------------------- 1 | # Automatically Generated Makefile by EDE. 2 | # For use with: make 3 | # Relative File Name: speedbar/Makefile 4 | # 5 | # DO NOT MODIFY THIS FILE OR YOUR CHANGES MAY BE LOST. 6 | # EDE is the Emacs Development Environment. 7 | # http://cedet.sourceforge.net/ede.shtml 8 | # 9 | LOADPATH= ./ ../cedet/ 10 | require=$(foreach r,$(1),(require (quote $(r)))) 11 | EMACSFLAGS=-batch --no-site-file --eval '(setq debug-on-error t)' -l "../../cedet-remove-builtin.el" 12 | EMACS=@echo " > $@";emacs 13 | AUTOGENFLAGS=-L ../cedet --eval '(progn (require (quote cedet-compat)) (require (quote mode-local)))' 14 | 15 | top=../ 16 | ede_FILES=Project.ede Makefile 17 | 18 | LOADDEFS=loaddefs.el 19 | LOADDIRS=. 20 | opt_LISP=rpm.el sb-info.el sb-rmail.el sb-texinfo.el sb-html.el sb-ant.el 21 | VERSION=1.1beta 22 | DISTDIR=$(top)cedet-topdir-$(VERSION)/speedbar 23 | 24 | 25 | 26 | all: opt 27 | 28 | .PHONY: clean-autoloads 29 | clean-autoloads: 30 | rm -f $(LOADDEFS) 31 | 32 | .PHONY: autoloads 33 | autoloads: 34 | $(EMACS) $(EMACSFLAGS) $(AUTOGENFLAGS) $(addprefix -L ,$(LOADPATH)) --eval '(progn $(call require, $(PRELOADS)) (setq generated-autoload-file "$(abspath $(LOADDEFS))"))' -f batch-update-autoloads $(abspath $(LOADDIRS)) 35 | 36 | 37 | %.elc: %.el 38 | $(EMACS) $(EMACSFLAGS) $(addprefix -L ,$(LOADPATH)) --eval '(progn $(call require, $(PRELOADS)))' -f batch-byte-compile $^ 39 | 40 | .PHONY: opt 41 | opt: $(addsuffix c, $(opt_LISP)) 42 | opt: PRELOADS=cedet-compat 43 | 44 | tags: 45 | 46 | 47 | clean: 48 | rm -f *.elc 49 | 50 | .PHONY: dist 51 | 52 | dist: autoloads 53 | mkdir $(DISTDIR) 54 | cp loaddefs.el $(opt_LISP) $(ede_FILES) $(DISTDIR) 55 | 56 | Makefile: Project.ede 57 | @echo Makefile is out of date! It needs to be regenerated by EDE. 58 | @echo If you have not modified Project.ede, you can use 'touch' to update the Makefile time stamp. 59 | @false 60 | 61 | 62 | 63 | # End of Makefile 64 | -------------------------------------------------------------------------------- /lisp/speedbar/Project.ede: -------------------------------------------------------------------------------- 1 | ;; Object speedbar 2 | ;; EDE project file. 3 | (ede-proj-project "speedbar" 4 | :name "speedbar" 5 | :file "Project.ede" 6 | :targets (list 7 | (ede-proj-target-elisp-autoloads "autoloads" 8 | :name "autoloads" 9 | :path "" 10 | :partofall nil 11 | :autoload-file "loaddefs.el" 12 | ) 13 | (ede-proj-target-elisp "opt" 14 | :name "opt" 15 | :path "" 16 | :source '("rpm.el" "sb-info.el" "sb-rmail.el" "sb-texinfo.el" "sb-html.el" "sb-ant.el") 17 | :aux-packages '("cedet-compat" "sb-texinfo") 18 | :pre-load-packages '("cedet-compat") 19 | ) 20 | ) 21 | :configuration-variables 'nil 22 | :metasubproject 't 23 | :variables '(("EMACSFLAGS" . "-batch --no-site-file --eval '(setq debug-on-error t)' -l \"../../cedet-remove-builtin.el\"") 24 | ("EMACS" . "@echo \" > $@\";emacs") 25 | ;; This is a hack we still need for Emacs 23.1 26 | ("AUTOGENFLAGS" . "-L ../cedet --eval '(progn (require (quote cedet-compat)) (require (quote mode-local)))'")) 27 | ) 28 | -------------------------------------------------------------------------------- /lisp/speedbar/README: -------------------------------------------------------------------------------- 1 | Speedbar development now happens in Emacs trunk. 2 | 3 | This directory only contains some Speedbar modules which are not in Emacs. 4 | -------------------------------------------------------------------------------- /obsolete/etc/images/ezimage/bits.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * sb_obj_xpm[] = { 3 | "15 15 2 1", 4 | " c None", 5 | ". c #000CFF", 6 | " .. . .. . ", 7 | ". . . . . . ", 8 | ". . . . . . ", 9 | ". . . . . . ", 10 | " .. . .. . ", 11 | " ", 12 | ". .. . .. ", 13 | ". . . . . . ", 14 | ". . . . . . ", 15 | ". . . . . . ", 16 | ". .. . .. ", 17 | " ", 18 | " .. . .. . ", 19 | ". . . . . . ", 20 | ". . . . . . "}; 21 | -------------------------------------------------------------------------------- /obsolete/etc/images/ezimage/bitsbang.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * sb_objod_xpm[] = { 3 | "15 15 3 1", 4 | " c None", 5 | ". c #000CFF", 6 | "+ c #FFFA00", 7 | " .. . .. . ", 8 | ". .++ . . . ", 9 | ". .++ . . . ", 10 | ". . ++. . . ", 11 | " .. ++ .. . ", 12 | " ++ ", 13 | ". ..++. .. ", 14 | ". . .++ . . ", 15 | ". . .++ . . ", 16 | ". . .++ . . ", 17 | ". .. . .. ", 18 | " ++ ", 19 | " .. . ++. . ", 20 | ". . . . . . ", 21 | ". . . . . . "}; 22 | -------------------------------------------------------------------------------- /obsolete/etc/images/ezimage/box-minus.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * sb_box_minus_xpm[] = { 3 | "20 15 4 1", 4 | " c None", 5 | ". c #000000", 6 | "+ c #828282", 7 | "@ c #D19200", 8 | "...+ +..+ ", 9 | ".@@.+ +.@.+", 10 | "+.@@.+ +.@@@.", 11 | "+.@@@.+++++++++.@@..", 12 | " +..@............@.+", 13 | " +.@..@@@@@@@@@@@..+", 14 | " +.@@..............+", 15 | " +.@@.@@@@@@@@@@@@.+", 16 | " +.@@.@@@@@@@@@@@@.+", 17 | " +.@@.@@@......@@@.+", 18 | " +.@@.@@@......@@@.+", 19 | " +.@.@@@@@@@@@@@@.+", 20 | " +..@@@@@@@@@@@@.+", 21 | " +..............+", 22 | " ++++++++++++++ "}; 23 | -------------------------------------------------------------------------------- /obsolete/etc/images/ezimage/box-plus.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * sb_box_plus_xpm[] = { 3 | "20 15 4 1", 4 | " c None", 5 | ". c #828282", 6 | "+ c #000000", 7 | "@ c #D19200", 8 | " ", 9 | " .............. ", 10 | " .++++++++++++++. ", 11 | " .++@@@@@@+@@@@@+. ", 12 | " .+@+@@@@@@+@@@@@+. ", 13 | " .+@@++++++++++++++.", 14 | " .+@@+@@@@@@@@@@@@+.", 15 | " .+@@+@@@@@++@@@@@+.", 16 | " .+@@+@@@@@++@@@@@+.", 17 | " .+@@+@@@++++++@@@+.", 18 | " .+@@+@@@++++++@@@+.", 19 | " .+@+@@@@@++@@@@@+.", 20 | " .++@@@@@++@@@@@+.", 21 | " .++++++++++++++.", 22 | " .............. "}; 23 | -------------------------------------------------------------------------------- /obsolete/etc/images/ezimage/box.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * sb_box_xpm[] = { 3 | "20 15 4 1", 4 | " c None", 5 | ". c #828282", 6 | "+ c #000000", 7 | "@ c #FFF993", 8 | " ", 9 | " ............... ", 10 | " .++++++++++++++. ", 11 | " .++@@@@@@+@@@@@+. ", 12 | " .+@+@@@@@@+@@@@@+. ", 13 | " .+@@++++++++++++++.", 14 | " .+@@+@@@@@@@@@@@@+.", 15 | " .+@@+@@@@@@@@@@@@+.", 16 | " .+@@+@@@@@@@@@@@@+.", 17 | " .+@@+@@@@@@@@@@@@+.", 18 | " .+@@+@@@@@@@@@@@@+.", 19 | " .+@+@@@@@@@@@@@@+.", 20 | ". .++@@@@@@@@@@@@+.", 21 | " .++++++++++++++.", 22 | " .............. "}; 23 | -------------------------------------------------------------------------------- /obsolete/etc/images/ezimage/checkmark.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * sb_chk_xpm[] = { 3 | "15 15 2 1", 4 | " c None", 5 | ". c #FF0000", 6 | " ", 7 | " . . .. ", 8 | " . . . ", 9 | " . . . . ", 10 | " . .. . ", 11 | " .. ", 12 | " .. ", 13 | " ... .. ", 14 | " ... .. ", 15 | " .... .. ", 16 | " ... .. ", 17 | " .... ", 18 | " ... ", 19 | " . ", 20 | " "}; 21 | -------------------------------------------------------------------------------- /obsolete/etc/images/ezimage/dir-minus.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * sb_dir_minus_xpm[] = { 3 | "20 15 5 1", 4 | " c None", 5 | ". c #828282", 6 | "+ c #000000", 7 | "@ c #DBDB00", 8 | "# c #FFF993", 9 | " ....... ", 10 | ".+++++++. ", 11 | ".+@@@@@@+......... ", 12 | ".+@@@@@@@++++++++. ", 13 | ".+@@@@@@@@@@@@@@+...", 14 | ".+@@++++++++++++++++", 15 | ".+@@+##############+", 16 | ".+@+##############+.", 17 | ".+@+####++++++####+.", 18 | ".+@+####++++++####+.", 19 | ".+@+##############+.", 20 | ".++##############+..", 21 | ".++##############+. ", 22 | ".+++++++++++++++++. ", 23 | " ................. "}; 24 | -------------------------------------------------------------------------------- /obsolete/etc/images/ezimage/dir-plus.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * sb_dir_plus_xpm[] = { 3 | "20 15 5 1", 4 | " c None", 5 | ". c #828282", 6 | "+ c #000000", 7 | "@ c #DBDB00", 8 | "# c #FFF993", 9 | " ....... ", 10 | ".+++++++. ", 11 | ".+@@@@@@+.......... ", 12 | ".+@@@@@@@++++++++++.", 13 | ".+@@@@@@@@@@@@@@@@+.", 14 | ".+#######++#####@@+.", 15 | ".+#######++######@+.", 16 | ".+#####++++++####@+.", 17 | ".+#####++++++####@+.", 18 | ".+#######++######@+.", 19 | ".+#######++######@+.", 20 | ".+###############@+.", 21 | ".+###############@+.", 22 | ".++++++++++++++++++.", 23 | " .................. "}; 24 | -------------------------------------------------------------------------------- /obsolete/etc/images/ezimage/dir.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * sb_dir_xpm[] = { 3 | "20 15 5 1", 4 | " c None", 5 | ". c #828282", 6 | "+ c #000000", 7 | "@ c #DBDB00", 8 | "# c #FFF993", 9 | " ....... ", 10 | ".+++++++. ", 11 | ".+@@@@@@+.......... ", 12 | ".+@@@@@@@++++++++++.", 13 | ".+@@@@@@@@@@@@@@@@+.", 14 | ".+##############@@+.", 15 | ".+###############@+.", 16 | ".+###############@+.", 17 | ".+###############@+.", 18 | ".+###############@+.", 19 | ".+###############@+.", 20 | ".+###############@+.", 21 | ".+###############@+.", 22 | ".++++++++++++++++++.", 23 | " .................. "}; 24 | -------------------------------------------------------------------------------- /obsolete/etc/images/ezimage/doc-minus.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * sb_doc_minus_xpm[] = { 3 | "15 15 5 1", 4 | " c None", 5 | ". c #828282", 6 | "+ c #000000", 7 | "@ c #5A818B", 8 | "# c #FFFFFF", 9 | " ....... ", 10 | " .+++++++. ", 11 | " .+@@@@@@+. ", 12 | " .+@@@@@@+#. ", 13 | " .+@@@@@@+#+.", 14 | " .+@####@+##+.", 15 | " .+@@@@@@@+#+. ", 16 | " .+@@@@@@+##+. ", 17 | ".++++@@@@+#+. ", 18 | ".+###++++##+. ", 19 | ".+########+. ", 20 | ".++#######+. ", 21 | " ..++++##+. ", 22 | " ....+++. ", 23 | " ... "}; 24 | -------------------------------------------------------------------------------- /obsolete/etc/images/ezimage/doc-plus.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * sb_doc_plus_xpm[] = { 3 | "15 15 5 1", 4 | " c None", 5 | ". c #828282", 6 | "+ c #000000", 7 | "@ c #5A818B", 8 | "# c #FFFFFF", 9 | " ....... ", 10 | " .+++++++. ", 11 | " .+@@@@@@+. ", 12 | " .+@@#@@@+#. ", 13 | " .+@@#@@@+#+.", 14 | " .+@#####+##+.", 15 | " .+@@@@#@@+#+. ", 16 | " .+@@@@#@+##+. ", 17 | ".++++@@@@+#+. ", 18 | ".+###++++##+. ", 19 | ".+########+. ", 20 | ".++#######+. ", 21 | " ..++++##+. ", 22 | " ....+++. ", 23 | " ... "}; 24 | -------------------------------------------------------------------------------- /obsolete/etc/images/ezimage/doc.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * sb_doc_xpm[] = { 3 | "15 15 5 1", 4 | " c None", 5 | ". c #828282", 6 | "+ c #000000", 7 | "@ c #5A818B", 8 | "# c #FFFFFF", 9 | " ....... ", 10 | " .+++++++. ", 11 | " .+@@@@@@+. ", 12 | " .+@@@@@@+#. ", 13 | " .+@@@@@@+#+.", 14 | " .+@@@@@@+##+.", 15 | " .+@@@@@@@+#+. ", 16 | " .+@@@@@@+##+. ", 17 | ".++++@@@@+#+. ", 18 | ".+###++++##+. ", 19 | ".+########+. ", 20 | ".+########+. ", 21 | ".++++++##+. ", 22 | " ......+++. ", 23 | " ... "}; 24 | -------------------------------------------------------------------------------- /obsolete/etc/images/ezimage/info.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * sb_info_xpm[] = { 3 | "10 15 4 1", 4 | " c None", 5 | ". c #BEBEBE", 6 | "+ c #0000FF", 7 | "@ c #FFFFFF", 8 | " .. ", 9 | " ..+++. ", 10 | " .+++@++. ", 11 | " .+++++++ ", 12 | " .+++++++ ", 13 | ".++@@@++++", 14 | ".++++@++++", 15 | ".++++@++++", 16 | ".++++@++++", 17 | " .+++@++++", 18 | " .+++@+++ ", 19 | " .+@@@@@+ ", 20 | " .+++++++ ", 21 | " .+++++ ", 22 | " ++ "}; 23 | -------------------------------------------------------------------------------- /obsolete/etc/images/ezimage/key.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * key_xpm[] = { 3 | "16 16 4 1", 4 | " c None", 5 | ". c #828282", 6 | "+ c #000000", 7 | "@ c #FFF993", 8 | " ........ ", 9 | " ..++++++.. ", 10 | " .+@@@@@@+. ", 11 | " .+@@++@@+. ", 12 | " .+@@@@@@+. ", 13 | " .+@@@@@@+. ", 14 | " .+@@@@@@+. ", 15 | " .+@@@@+. ", 16 | " .+@@+. ", 17 | " .+@@@+. ", 18 | " .+@@+. ", 19 | " .+@@+. ", 20 | " .+@@@+. ", 21 | " .+@@+. ", 22 | " .++. ", 23 | " .. "}; 24 | -------------------------------------------------------------------------------- /obsolete/etc/images/ezimage/label.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * sb_label_xpm[] = { 3 | "10 16 3 1", 4 | " c None", 5 | ". c gray", 6 | "+ c blue", 7 | " .....", 8 | " ..+++++", 9 | " .+++++++", 10 | " .++++++++", 11 | " .++++++++", 12 | ".+++++++++", 13 | ".+++++++++", 14 | ".+++++++++", 15 | ".+++++++++", 16 | ".+++++++++", 17 | ".+++++++++", 18 | ".+++++++++", 19 | ".+++++++++", 20 | ".+++++++++", 21 | ".+++++++++", 22 | ".+++++++++"}; 23 | -------------------------------------------------------------------------------- /obsolete/etc/images/ezimage/lock.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * lock_xpm[] = { 3 | "16 16 4 1", 4 | " c None", 5 | ". c #828282", 6 | "+ c #000000", 7 | "@ c #FFF993", 8 | " ........ ", 9 | " ..++++++.. ", 10 | " .++....++. ", 11 | " .+......+. ", 12 | " ..+......+.. ", 13 | " ..++++++++++..", 14 | " .++@@@@@@@@++.", 15 | " .+@@@@@@@@@@+.", 16 | " .+@@@@@@@@@@+.", 17 | " .+@@@++++@@@+.", 18 | " .+@@@@++@@@@+.", 19 | " .+@@@@@@@@@@+.", 20 | " .+@@@@++@@@@+.", 21 | " .+@@@@@@@@@@+.", 22 | " .++++++++++++.", 23 | " .............."}; 24 | -------------------------------------------------------------------------------- /obsolete/etc/images/ezimage/mail.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * sb_mail_xpm[] = { 3 | "20 15 4 1", 4 | " c None", 5 | ". c #828282", 6 | "+ c #000000", 7 | "@ c #FFFFFF", 8 | "................... ", 9 | ".++++++++++++++++++.", 10 | ".++@@@@@@@@@@@@@@++.", 11 | ".+@++@@@@@@@@@@++@+.", 12 | ".+@@@++@@@@@@++@@@+.", 13 | ".+@@@@@++@@++@@@@@+.", 14 | ".+@@@@@@@++@@@@@@@+.", 15 | ".+@@@@@@@@@@@@@@@@+.", 16 | ".+@@@@+@@@@@@+@@@@+.", 17 | ".+@@@@@@@@@@@@@@@@+.", 18 | ".+@@+@@@@@@@@@@+@@+.", 19 | ".+@@@@@@@@@@@@@@@@+.", 20 | ".++@@@@@@@@@@@@@@++.", 21 | ".++++++++++++++++++.", 22 | " .................. "}; 23 | -------------------------------------------------------------------------------- /obsolete/etc/images/ezimage/page-minus.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * sb_pg_minus_xpm[] = { 3 | "20 15 5 1", 4 | " c None", 5 | ". c #828282", 6 | "+ c #000000", 7 | "@ c #FFFFFF", 8 | "# c #ADADAD", 9 | " ............ ", 10 | " .++++++++++++.", 11 | " .++@@@@@@@@@@+.", 12 | " .+#+@@@@@@@@@@+.", 13 | " .+##+@@@@@@@@@@+.", 14 | " .+###+@@@@@@@@@@+.", 15 | " .+####+@@@@@@@@@@+.", 16 | ".+++++++@++++++@@@+.", 17 | ".+@@@@@@@++++++@@@+.", 18 | ".+@@@@@@@@@@@@@@@@+.", 19 | ".+@@@@@@@@@@@@@@@@+.", 20 | ".+@@@@@@@@@@@@@@@@+.", 21 | ".+@@@@@@@@@@@@@@@@+.", 22 | ".++++++++++++++++++.", 23 | " .................. "}; 24 | -------------------------------------------------------------------------------- /obsolete/etc/images/ezimage/page-plus.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * sb_pg_plus_xpm[] = { 3 | "20 15 5 1", 4 | " c None", 5 | ". c #828282", 6 | "+ c #000000", 7 | "@ c #FFFFFF", 8 | "# c #ADADAD", 9 | " ............ ", 10 | " .++++++++++++.", 11 | " .++@@@@@@@@@@+.", 12 | " .+#+@@@@@@@@@@+.", 13 | " .+##+@@@@@@@@@@+.", 14 | " .+###+@@@++@@@@@+.", 15 | " .+####+@@@++@@@@@+.", 16 | ".+++++++@++++++@@@+.", 17 | ".+@@@@@@@++++++@@@+.", 18 | ".+@@@@@@@@@++@@@@@+.", 19 | ".+@@@@@@@@@++@@@@@+.", 20 | ".+@@@@@@@@@@@@@@@@+.", 21 | ".+@@@@@@@@@@@@@@@@+.", 22 | ".++++++++++++++++++.", 23 | " .................. "}; 24 | -------------------------------------------------------------------------------- /obsolete/etc/images/ezimage/page.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * sb_pg_xpm[] = { 3 | "20 15 5 1", 4 | " c None", 5 | ". c #828282", 6 | "+ c #000000", 7 | "@ c #FFFFFF", 8 | "# c #ADADAD", 9 | " ............ ", 10 | " .++++++++++++.", 11 | " .++@@@@@@@@@@+.", 12 | " .+#+@@@@@@@@@@+.", 13 | " .+##+@@@@@@@@@@+.", 14 | " .+###+@@@@@@@@@@+.", 15 | " .+####+@@@@@@@@@@+.", 16 | ".+++++++@@@@@@@@@@+.", 17 | ".+@@@@@@@@@@@@@@@@+.", 18 | ".+@@@@@@@@@@@@@@@@+.", 19 | ".+@@@@@@@@@@@@@@@@+.", 20 | ".+@@@@@@@@@@@@@@@@+.", 21 | ".+@@@@@@@@@@@@@@@@+.", 22 | ".++++++++++++++++++.", 23 | " .................. "}; 24 | -------------------------------------------------------------------------------- /obsolete/etc/images/ezimage/tag-gt.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * sb_tag_gt_xpm[] = { 3 | "20 15 4 1", 4 | " c None", 5 | ". c #828282", 6 | "+ c #000000", 7 | "@ c #FFF993", 8 | " ", 9 | " ", 10 | " ............... ", 11 | " .+++++++++++++++.", 12 | " .+@@@@@++@@@@@@@+.", 13 | " .+@@@@@@+++@@@@@@+.", 14 | ".+@@@@@@@++++@@@@@+.", 15 | ".+@++@@@@+++++@@@@+.", 16 | ".+@++@@@@+++++.@@@+.", 17 | ".+@@@@@@@++++.@@@@+.", 18 | " .+@@@@@@+++.@@@@@+.", 19 | " .+@@@@@++.@@@@@@+.", 20 | ". .++++++.++++++++.", 21 | " ............... ", 22 | " "}; 23 | -------------------------------------------------------------------------------- /obsolete/etc/images/ezimage/tag-minus.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * sb_tag__xpm[] = { 3 | "20 15 4 1", 4 | " c None", 5 | ". c #828282", 6 | "+ c #000000", 7 | "@ c #FFF993", 8 | " ", 9 | " ", 10 | " ............... ", 11 | " .+++++++++++++++.", 12 | " .+@@@@@@@@@@@@@@+.", 13 | " .+@@@@@@@@@@@@@@@+.", 14 | ".+@@@@@@@@@@@@@@@@+.", 15 | ".+@++@@++++++@@@@@+.", 16 | ".+@++@@++++++@@@@@+.", 17 | ".+@@@@@@@@@@@@@@@@+.", 18 | " .+@@@@@@@@@@@@@@@+.", 19 | " .+@@@@@@@@@@@@@@+.", 20 | ". .+++++++++++++++.", 21 | " ............... ", 22 | " "}; 23 | -------------------------------------------------------------------------------- /obsolete/etc/images/ezimage/tag-plus.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * sb_tag+_xpm[] = { 3 | "20 15 4 1", 4 | " c None", 5 | ". c #828282", 6 | "+ c #000000", 7 | "@ c #FFF993", 8 | " ", 9 | " ", 10 | " ............... ", 11 | " .+++++++++++++++.", 12 | " .+@@@@@@@@@@@@@@+.", 13 | " .+@@@@@@++@@@@@@@+.", 14 | ".+@@@@@@@++@@@@@@@+.", 15 | ".+@++@@++++++@@@@@+.", 16 | ".+@++@@++++++@@@@@+.", 17 | ".+@@@@@@@++@@@@@@@+.", 18 | " .+@@@@@@++@@@@@@@+.", 19 | " .+@@@@@@@@@@@@@@+.", 20 | ". .+++++++++++++++.", 21 | " ............... ", 22 | " "}; 23 | -------------------------------------------------------------------------------- /obsolete/etc/images/ezimage/tag-type.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * sb_tag_type_xpm[] = { 3 | "20 15 4 1", 4 | " c None", 5 | ". c #828282", 6 | "+ c #000000", 7 | "@ c #FFF993", 8 | " ", 9 | " ", 10 | " ............... ", 11 | " .+++++++++++++++.", 12 | " .+@@@@@@@@@@@@@@+.", 13 | " .+@@@@@@++++++@@@+.", 14 | ".+@@@@@@@++++++@@@+.", 15 | ".+@++@@@@@@++@@@@@+.", 16 | ".+@++@@@@@@++@@@@@+.", 17 | ".+@@@@@@@@@++@@@@@+.", 18 | " .+@@@@@@@@++@@@@@+.", 19 | " .+@@@@@@@@@@@@@@+.", 20 | ". .+++++++++++++++.", 21 | " ............... ", 22 | " "}; 23 | -------------------------------------------------------------------------------- /obsolete/etc/images/ezimage/tag-v.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * sb_tag_v_xpm[] = { 3 | "20 15 4 1", 4 | " c None", 5 | ". c #828282", 6 | "+ c #000000", 7 | "@ c #FFF993", 8 | " ", 9 | " ", 10 | " ............... ", 11 | " .+++++++++++++++.", 12 | " .+@@@@@@@@@@@@@@+.", 13 | " .+@@@++++++++++.@+.", 14 | ".+@@@@@++++++++.@@+.", 15 | ".+@++@@@++++++.@@@+.", 16 | ".+@++@@@@++++.@@@@+.", 17 | ".+@@@@@@@@++.@@@@@+.", 18 | " .+@@@@@@@@.@@@@@@+.", 19 | " .+@@@@@@@@@@@@@@+.", 20 | ". .+++++++++++++++.", 21 | " ............... ", 22 | " "}; 23 | -------------------------------------------------------------------------------- /obsolete/etc/images/ezimage/tag.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * sb_tag_xpm[] = { 3 | "20 15 4 1", 4 | " c None", 5 | ". c #828282", 6 | "+ c #000000", 7 | "@ c #FFF993", 8 | " ", 9 | " ", 10 | " ............... ", 11 | " .+++++++++++++++.", 12 | " .+@@@@@@@@@@@@@@+.", 13 | " .+@@@@@@@@@@@@@@@+.", 14 | ".+@@@@@@@@@@@@@@@@+.", 15 | ".+@++@@@@@@@@@@@@@+.", 16 | ".+@++@@@@@@@@@@@@@+.", 17 | ".+@@@@@@@@@@@@@@@@+.", 18 | " .+@@@@@@@@@@@@@@@+.", 19 | " .+@@@@@@@@@@@@@@+.", 20 | ". .+++++++++++++++.", 21 | " ............... ", 22 | " "}; 23 | -------------------------------------------------------------------------------- /obsolete/etc/images/ezimage/unlock.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * unlock_xpm[] = { 3 | "16 16 4 1", 4 | " c None", 5 | ". c #828282", 6 | "+ c #000000", 7 | "@ c #FFF993", 8 | " ....... ", 9 | "..+++++.. ", 10 | ".++...++. ", 11 | ".+.....+. ", 12 | ".+.....+........", 13 | "....++++++++++..", 14 | " .++@@@@@@@@++.", 15 | " .+@@@@@@@@@@+.", 16 | " .+@@@@@@@@@@+.", 17 | " .+@@@++++@@@+.", 18 | " .+@@@@++@@@@+.", 19 | " .+@@@@@@@@@@+.", 20 | " .+@@@@++@@@@+.", 21 | " .+@@@@@@@@@@+.", 22 | " .++++++++++++.", 23 | " .............."}; 24 | -------------------------------------------------------------------------------- /obsolete/lisp/cedet/semantic/semanticdb-java.clj: -------------------------------------------------------------------------------- 1 | ;;Clojure backend code for semantidb-java 2 | 3 | (defn get-class-info [classname] 4 | "Return a list of members of CLASSNAME." 5 | (map (fn [x] (list (.getName x) (map (fn [y] (.getName y )) (.getParameterTypes x) ) 6 | (.getName (.getReturnType x)) )) 7 | (.getMethods (java.lang.Class/forName classname)))) -------------------------------------------------------------------------------- /obsolete/lisp/eieio/eieiocomp.el: -------------------------------------------------------------------------------- 1 | ;;; eieiocomp.el --- compile the eieio distribution 2 | 3 | ;; Copyright (C) 1996, 1997, 1998, 2005 Eric M. Ludlam 4 | ;; 5 | ;; This program is free software; you can redistribute it and/or modify 6 | ;; it under the terms of the GNU General Public License as published by 7 | ;; the Free Software Foundation; either version 2, or (at your option) 8 | ;; any later version. 9 | ;; 10 | ;; This program is distributed in the hope that it will be useful, 11 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | ;; GNU General Public License for more details. 14 | ;; 15 | ;; You should have received a copy of the GNU General Public License 16 | ;; along with GNU Emacs; see the file COPYING. If not, write to the 17 | ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 18 | ;; Boston, MA 02110-1301, USA. 19 | ;; 20 | ;; Please send bug reports, etc. to zappo@gnu.ai.mit.edu. 21 | ;; 22 | ;; $Id: eieiocomp.el,v 1.3 2005-09-30 20:17:50 zappo Exp $ 23 | 24 | ;;; Code: 25 | (load-library "bytecomp") 26 | 27 | (let* ((cdir (expand-file-name default-directory)) 28 | (udir (substring cdir 0 (- (length cdir) 1))) 29 | (byte-compile-warnings nil)) 30 | 31 | (setq load-path (cons udir load-path)) 32 | 33 | (message "PATH:\n%s" load-path) 34 | 35 | ;; Load each eieio client for compiling 36 | (load-library "tree.el") 37 | (load-library "call-tree.el") 38 | (load-library "chart.el") 39 | (load-library "dbif.el") 40 | (load-library "psql.el") 41 | 42 | (message "Calling recompile on %s" udir) 43 | 44 | (byte-recompile-directory udir 0) 45 | ) 46 | 47 | (provide 'eieiocomp) 48 | 49 | ;;; eieiocomp.el ends here 50 | -------------------------------------------------------------------------------- /testdist.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Run a suite of tests on a CEDET distribution. 4 | # 5 | # 1) Set current directory to wherever a CEDET version from CVS is 6 | # 7 | # 2) ./testdist.sh myemacs 8 | # 9 | # Will test the Make build, and the ebuild build, and all the 10 | # automated tests using the myemacs program. 11 | # 12 | # 3) ./testdist.sh emacs xemacs 13 | # 14 | # Will do the same with emacs and xemacs, and any other number of Emacsen 15 | # you add to the command line. 16 | # 17 | 18 | 19 | EMACS=emacs 20 | if [ $# -gt 0 ]; then 21 | EMACS=$* 22 | fi 23 | 24 | CEDETVER=`grep "defconst cedet-version" common/cedet.el | cut -d "\"" -f 2` 25 | 26 | echo "Distribution Test with \"$EMACS\" of CEDET version $CEDETVER" 27 | 28 | CEDETROOT=`pwd` 29 | 30 | DIST=$CEDETROOT/cedet-$CEDETVER.tar.gz 31 | 32 | if [ ! -f $DIST ]; then 33 | echo "Cannot find distribution file cedet-$CEDETVER.tar.gz" 34 | exit 1 35 | fi 36 | 37 | cd /tmp 38 | mkdir -p CEDETDISTTEST 39 | cd CEDETDISTTEST 40 | 41 | if [ -d cedet-$CEDETVER ]; then 42 | echo "Deleting old CEDET dist from previous test." 43 | rm -rf "cedet-$CEDETVER" 44 | fi 45 | 46 | for i in $EMACS; do 47 | 48 | echo "Run DIST test with $i using make" 49 | tar -xvzf $DIST 50 | cd "cedet-$CEDETVER" 51 | if make EMACS=$i; then 52 | echo "DIST build with $i using make PASSED." 53 | else 54 | echo "DIST build with $i using make FAILED." 55 | exit 1 56 | fi 57 | if make EMACS=$i utest itest; then 58 | echo "DIST test with $i using make PASSED." 59 | else 60 | echo "DIST test with $i using make FAILED." 61 | exit 1 62 | fi 63 | cd .. 64 | rm -rf "cedet-$CEDETVER" 65 | 66 | echo "Run DIST test with $i using ebuild (via make)" 67 | tar -xvzf $DIST 68 | cd "cedet-$CEDETVER" 69 | if make EMACS=$i ebuild; then 70 | echo "DIST build with $i using make PASSED." 71 | else 72 | echo "DIST build with $i using make FAILED." 73 | exit 1 74 | fi 75 | if make EMACS=$i utest itest; then 76 | echo "DIST test with $i using make PASSED." 77 | else 78 | echo "DIST test with $i using make FAILED." 79 | exit 1 80 | fi 81 | cd .. 82 | rm -rf "cedet-$CEDETVER" 83 | 84 | done 85 | 86 | exit 0 -------------------------------------------------------------------------------- /testprojects/README: -------------------------------------------------------------------------------- 1 | TESTPROJECTS: 2 | ------------ 3 | 4 | This directory contains example projects that can be used for testing 5 | CEDET/EDE features. Projects in this directory will not be part of 6 | the distribution. Projects in this directory would therefore not be 7 | part of either the unit test suite (utest), nor the interactive test 8 | suite (itest). 9 | 10 | -------------------------------------------------------------------------------- /tests/.cvsignore: -------------------------------------------------------------------------------- 1 | Lisp-compile-script 2 | -------------------------------------------------------------------------------- /tests/Makefile: -------------------------------------------------------------------------------- 1 | # Automatically Generated Makefile by EDE. 2 | # For use with: make 3 | # 4 | # DO NOT MODIFY THIS FILE OR YOUR CHANGES MAY BE LOST. 5 | # EDE is the Emacs Development Environment. 6 | # http://cedet.sourceforge.net/ede.shtml 7 | # 8 | 9 | top= 10 | ede_FILES=Project.ede Makefile 11 | 12 | Lisp_LISP=cedet-integ-test.el cit-cpp.el cit-el.el cit-texi.el cit-load.el cit-srec.el cit-gnustep.el cit-uml.el cit-dist.el cit-symref.el cit-externaldb.el cit-android.el cit-arduino.el cit-projvar.el 13 | EMACS=emacs 14 | EMACSFLAGS=-batch --no-site-file 15 | LOADPATH= ../lisp/speedbar/ ../lisp/cogre/ ../lisp/contrib/ ../lisp/ede/ ../lisp/srecode/ ../lisp/semantic/wisent/ ../lisp/semantic/bovine/ ../lisp/semantic/ ../lisp/eieio/ ../lisp/common/ 16 | ELISPPRELOAD= cedet-compat 17 | templates_MISC=cit-extra-cpp.srt 18 | scripts_MISC=cit-test.sh 19 | Misc_MISC=README ChangeLog cit-uml.cgr 20 | VERSION=1.0 21 | DISTDIR=$(top)cit-$(VERSION) 22 | 23 | 24 | 25 | all: Lisp templates scripts Misc 26 | 27 | .PHONY: Lisp 28 | Lisp: $(Lisp_LISP) 29 | @echo "(add-to-list 'load-path nil)" > $@-compile-script 30 | for loadpath in . ${LOADPATH}; do \ 31 | echo "(add-to-list 'load-path \"$$loadpath\")" >> $@-compile-script; \ 32 | done; 33 | for preload in ${ELISPPRELOAD}; do \ 34 | echo "(load \"$$preload\")" >> $@-compile-script; \ 35 | done; 36 | @echo "(setq debug-on-error t)" >> $@-compile-script 37 | "$(EMACS)" $(EMACSFLAGS) -l $@-compile-script -f batch-byte-compile $^ 38 | 39 | templates: 40 | @ 41 | 42 | scripts: 43 | @ 44 | 45 | Misc: 46 | @ 47 | 48 | tags: 49 | 50 | 51 | clean: 52 | rm -f *.elc 53 | 54 | .PHONY: dist 55 | 56 | dist: 57 | mkdir $(DISTDIR) 58 | cp $(Lisp_LISP) $(templates_MISC) $(scripts_MISC) $(Misc_MISC) $(ede_FILES) $(DISTDIR) 59 | 60 | Makefile: Project.ede 61 | @echo Makefile is out of date! It needs to be regenerated by EDE. 62 | @echo If you have not modified Project.ede, you can use 'touch' to update the Makefile time stamp. 63 | @false 64 | 65 | 66 | 67 | # End of Makefile 68 | -------------------------------------------------------------------------------- /tests/Project.ede: -------------------------------------------------------------------------------- 1 | ;; Object cit 2 | ;; EDE Project Files are auto generated: Do Not Edit 3 | (ede-proj-project "cit" 4 | :file "Project.ede" 5 | :name "cit" 6 | :targets 7 | (list 8 | (ede-proj-target-elisp "Lisp" 9 | :name "Lisp" 10 | :path "" 11 | :source '("cedet-integ-test.el" "cit-cpp.el" "cit-el.el" "cit-texi.el" "cit-load.el" "cit-srec.el" "cit-gnustep.el" "cit-uml.el" "cit-dist.el" "cit-symref.el" "cit-externaldb.el" "cit-android.el" "cit-arduino.el" "cit-projvar.el" "cit-globalref.el") 12 | :versionsource '("cedet-integ-test.el") 13 | :compiler 'ede-emacs-preload-compiler 14 | :aux-packages '("inversion" "eieio" "semantic" "semantic-bovine" "semantic-wisent" "srecode" "ede" "ede-gnustep" "cogre") 15 | :pre-load-packages '("cedet-compat")) 16 | (ede-proj-target-makefile-miscelaneous "templates" 17 | :name "templates" 18 | :path "" 19 | :source '("cit-extra-cpp.srt")) 20 | (ede-proj-target-makefile-miscelaneous "scripts" 21 | :name "scripts" 22 | :path "" 23 | :source '("cit-test.sh")) 24 | (ede-proj-target-makefile-miscelaneous "Misc" 25 | :name "Misc" 26 | :path "" 27 | :source '("README" "ChangeLog" "cit-uml.cgr"))) 28 | :metasubproject t) 29 | -------------------------------------------------------------------------------- /tests/README: -------------------------------------------------------------------------------- 1 | * HOW TO RUN CEDET INTEGRATION TESTS * 2 | ================================== 3 | 4 | Run the shell script: 5 | 6 | ./cit-test.sh 7 | 8 | Modify this script to specify the Emacs command to use to start Emacs. 9 | 10 | Once Emacs is up, do not move the mouse, or produce any other events 11 | for Emacs to read, or the sit-for commands that show the current 12 | output will stall, and you won't be able to see the current state. 13 | 14 | -------------------------------------------------------------------------------- /tests/cedet-files-utests.el: -------------------------------------------------------------------------------- 1 | ;;; cedet-files-utests.el --- 2 | ;; 3 | ;; Copyright (C) 2011 Eric M. Ludlam 4 | ;; 5 | ;; Author: Eric M. Ludlam 6 | ;; 7 | ;; This program is free software; you can redistribute it and/or 8 | ;; modify it under the terms of the GNU General Public License as 9 | ;; published by the Free Software Foundation, either version 3 of the 10 | ;; License, or (at your option) any later version. 11 | 12 | ;; This program is distributed in the hope that it will be useful, but 13 | ;; WITHOUT ANY WARRANTY; without even the implied warranty of 14 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | ;; General Public License for more details. 16 | 17 | ;; You should have received a copy of the GNU General Public License 18 | ;; along with this program. If not, see http://www.gnu.org/licenses/. 19 | 20 | 21 | ;;; Commentary: 22 | ;; 23 | ;; 24 | 25 | (require 'cedet-files) 26 | 27 | ;;; Code: 28 | 29 | (defvar cedet-files-utest-list 30 | '( 31 | ( "/home/me/src/myproj/src/foo.c" . "!home!me!src!myproj!src!foo.c" ) 32 | ( "c:/work/myproj/foo.el" . "!drive_c!work!myproj!foo.el" ) 33 | ( "//windows/proj/foo.java" . "!!windows!proj!foo.java" ) 34 | ( "/home/me/proj!bang/foo.c" . "!home!me!proj!!bang!foo.c" ) 35 | ) 36 | "List of different file names to test. 37 | Each entry is a cons cell of ( FNAME . CONVERTED ) 38 | where FNAME is some file name, and CONVERTED is what it should be 39 | converted into.") 40 | 41 | (defun cedet-files-utest () 42 | "Test out some file name conversions." 43 | (interactive) 44 | 45 | (let ((idx 0)) 46 | (dolist (FT cedet-files-utest-list) 47 | 48 | (setq idx (+ idx 1)) 49 | 50 | (let ((dir->file (cedet-directory-name-to-file-name (car FT) t)) 51 | (file->dir (cedet-file-name-to-directory-name (cdr FT) t)) 52 | ) 53 | 54 | (unless (string= (cdr FT) dir->file) 55 | (error "Failed: %d. Found: %S Wanted: %S" 56 | idx dir->file (cdr FT)) 57 | ) 58 | 59 | (unless (string= file->dir (car FT)) 60 | (error "Failed: %d. Found: %S Wanted: %S" 61 | idx file->dir (car FT)) 62 | ) 63 | 64 | )))) 65 | 66 | (provide 'cedet-files-utests) 67 | 68 | ;;; cedet-files-utests.el ends here 69 | -------------------------------------------------------------------------------- /tests/cedet/cogre/Makefile: -------------------------------------------------------------------------------- 1 | # Automatically Generated Makefile by EDE. 2 | # For use with: make 3 | # 4 | # DO NOT MODIFY THIS FILE OR YOUR CHANGES MAY BE LOST. 5 | # EDE is the Emacs Development Environment. 6 | # http://cedet.sourceforge.net/ede.shtml 7 | # 8 | 9 | top=../ 10 | ede_FILES=Project.ede Makefile 11 | 12 | TestFiles_MISC=testclasses.hh 13 | VERSION=1.1 14 | DISTDIR=$(top)COGRE-$(VERSION)/tests 15 | 16 | 17 | 18 | all: TestFiles 19 | 20 | TestFiles: 21 | @ 22 | 23 | tags: 24 | 25 | .PHONY: dist 26 | 27 | dist: 28 | mkdir $(DISTDIR) 29 | cp $(TestFiles_MISC) $(ede_FILES) $(DISTDIR) 30 | 31 | Makefile: Project.ede 32 | @echo Makefile is out of date! It needs to be regenerated by EDE. 33 | @echo If you have not modified Project.ede, you can use 'touch' to update the Makefile time stamp. 34 | @false 35 | 36 | 37 | 38 | # End of Makefile 39 | -------------------------------------------------------------------------------- /tests/cedet/cogre/periodic-utest.el: -------------------------------------------------------------------------------- 1 | ;;; periodic-utest.el --- 2 | ;; 3 | ;; Copyright (C) 2011 Eric M. Ludlam 4 | ;; 5 | ;; Author: Eric M. Ludlam 6 | ;; 7 | ;; This program is free software; you can redistribute it and/or 8 | ;; modify it under the terms of the GNU General Public License as 9 | ;; published by the Free Software Foundation, either version 3 of the 10 | ;; License, or (at your option) any later version. 11 | 12 | ;; This program is distributed in the hope that it will be useful, but 13 | ;; WITHOUT ANY WARRANTY; without even the implied warranty of 14 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | ;; General Public License for more details. 16 | 17 | ;; You should have received a copy of the GNU General Public License 18 | ;; along with this program. If not, see http://www.gnu.org/licenses/. 19 | 20 | ;;; Commentary: 21 | ;; 22 | ;; 23 | 24 | (require 'cogre/periodic) 25 | (require 'cogre/ascii) 26 | 27 | ;;; Code: 28 | 29 | (defvar cogre-periodic-node-name-list 30 | '( ( "cogre-node" cogre-node ) 31 | ( "cogre-node (2)" cogre-node ) 32 | ( "cogre-package" cogre-package ) 33 | ( "cogre-class" cogre-class ) 34 | ( "cogre-class (2)" cogre-class ) 35 | ( "cogre-instance" cogre-instance ) 36 | ( "cogre-instance (2)" cogre-instance ) 37 | ( "Notes about COGRE" cogre-note ) 38 | ) 39 | "List of node names and classes in the graph. 40 | Used for testing purposes in conversion routines.") 41 | 42 | (defvar cogre-periodic-link-connectivity-list 43 | '( 44 | ( "cogre-node" "cogre-node2" cogre-link ) 45 | ( "cogre-package" "cogre-class" 'cogre-aggregate ) 46 | ( "cogre-class (2)" "cogre-class" cogre-inherit ) 47 | ( "cogre-instance" "cogre-instance (2)" cogre-arrow) 48 | ) 49 | "List of link connectivity from the periodic table graph. 50 | Used for testing purpses in conversion routines.") 51 | 52 | ;;;###autoload 53 | (defun cogre-periodic-utest () 54 | "Run the cogre periodic table for unit testing. 55 | Also test various output mechanisms from the periodic table." 56 | (interactive) 57 | ;; Create the table. 58 | (cogre-periodic) 59 | (sit-for 0) 60 | ;; ASCII output 61 | (cogre-export-ascii) 62 | (sit-for 0) 63 | ) 64 | 65 | 66 | (provide 'cedet/cogre/periodic-utest) 67 | 68 | ;;; periodic-utest.el ends here 69 | -------------------------------------------------------------------------------- /tests/cedet/cogre/testclasses.hh: -------------------------------------------------------------------------------- 1 | /** testclasses.hh --- A test file full of classes to make diagrams from. 2 | */ 3 | 4 | class MyBaseclass 5 | { 6 | 7 | public: 8 | MyBaseclass() 9 | { } 10 | ~MyBaseclass() 11 | { } 12 | 13 | /** 14 | * fMyPrivateData Accessors 15 | * @{ 16 | */ 17 | int getMyPrivateData() const { 18 | return fMyPrivateData; 19 | } 20 | void setMyPrivateData(int MyPrivateData) { 21 | fMyPrivateData = MyPrivateData; 22 | } 23 | /** 24 | * @} 25 | */ 26 | 27 | private: 28 | int fMyPrivateData; 29 | char fMyChar; 30 | }; 31 | 32 | class Subclass : public MyBaseclass 33 | { 34 | 35 | public: 36 | Subclass() 37 | { } 38 | ~Subclass() 39 | { } 40 | 41 | /** 42 | * scData Accessors 43 | * @{ 44 | */ 45 | int getcData() const { 46 | return scData; 47 | } 48 | void setcData(int cData) { 49 | scData = cData; 50 | } 51 | /** 52 | * @} 53 | */ 54 | 55 | private: 56 | int scData; 57 | }; 58 | 59 | class SpecificClass : public Subclass 60 | { 61 | 62 | public: 63 | SpecificClass() 64 | { } 65 | ~SpecificClass() 66 | { } 67 | 68 | int addSubData(Subclass *sd) { 69 | SubData.push(sd); 70 | } 71 | 72 | private: 73 | int SData; 74 | vector *SubData; 75 | 76 | }; 77 | 78 | class OtherClass : public Subclass 79 | { 80 | 81 | public: 82 | OtherClass() 83 | { } 84 | ~OtherClass() 85 | { } 86 | /** 87 | * fOdata Accessors 88 | * @{ 89 | */ 90 | int getOdata() const { 91 | return fOdata; 92 | } 93 | void setOdata(int Odata) { 94 | fOdata = Odata; 95 | } 96 | /** 97 | * @} 98 | */ 99 | 100 | private: 101 | int fOdata; 102 | 103 | }; 104 | 105 | class AltClass : public Subclass 106 | { 107 | 108 | public: 109 | AltClass() 110 | { } 111 | AltClass() 112 | { } 113 | private: 114 | int fAdata; 115 | }; 116 | 117 | // End 118 | -------------------------------------------------------------------------------- /tests/cedet/ede/locate.el: -------------------------------------------------------------------------------- 1 | (defun ede-locate-test-locate (file) 2 | "Test EDE Locate on FILE using LOCATE type. 3 | The search is done with the current EDE root." 4 | (interactive "sFile: ") 5 | (let ((loc (ede-locate-locate 6 | "test" 7 | :root (ede-project-root-directory 8 | (ede-toplevel))))) 9 | (data-debug-new-buffer "*EDE Locate ADEBUG*") 10 | (ede-locate-file-in-project loc file) 11 | (data-debug-insert-object-slots loc "]")) 12 | ) 13 | 14 | (defun ede-locate-test-global (file) 15 | "Test EDE Locate on FILE using GNU Global type. 16 | The search is done with the current EDE root." 17 | (interactive "sFile: ") 18 | (let ((loc (ede-locate-global 19 | "test" 20 | :root (ede-project-root-directory 21 | (ede-toplevel))))) 22 | (data-debug-new-buffer "*EDE Locate ADEBUG*") 23 | (ede-locate-file-in-project loc file) 24 | (data-debug-insert-object-slots loc "]")) 25 | ) 26 | 27 | (defun ede-locate-test-idutils (file) 28 | "Test EDE Locate on FILE using ID Utils type. 29 | The search is done with the current EDE root." 30 | (interactive "sFile: ") 31 | (let ((loc (ede-locate-idutils 32 | "test" 33 | :root (ede-project-root-directory 34 | (ede-toplevel))))) 35 | (data-debug-new-buffer "*EDE Locate ADEBUG*") 36 | (ede-locate-file-in-project loc file) 37 | (data-debug-insert-object-slots loc "]")) 38 | ) 39 | 40 | (defun ede-locate-test-cscope (file) 41 | "Test EDE Locate on FILE using CScope type. 42 | The search is done with the current EDE root." 43 | (interactive "sFile: ") 44 | (let ((loc (ede-locate-cscope 45 | "test" 46 | :root (ede-project-root-directory 47 | (ede-toplevel))))) 48 | (data-debug-new-buffer "*EDE Locate ADEBUG*") 49 | (ede-locate-file-in-project loc file) 50 | (data-debug-insert-object-slots loc "]")) 51 | ) 52 | -------------------------------------------------------------------------------- /tests/cedet/ede/src/android/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/cedet/ede/src/android/src/test.java: -------------------------------------------------------------------------------- 1 | /* Test Java File in a subdirectory */ 2 | -------------------------------------------------------------------------------- /tests/cedet/ede/src/automake/Makefile.am: -------------------------------------------------------------------------------- 1 | # Test makefile. 2 | -------------------------------------------------------------------------------- /tests/cedet/ede/src/emacs/Makefile: -------------------------------------------------------------------------------- 1 | # Test makefile. 2 | -------------------------------------------------------------------------------- /tests/cedet/ede/src/emacs/configure.in: -------------------------------------------------------------------------------- 1 | dnl Test configure for Emacs 2 | AC_INIT(emacs, 1.0.0) 3 | -------------------------------------------------------------------------------- /tests/cedet/ede/src/emacs/src/config.h: -------------------------------------------------------------------------------- 1 | /* config for test */ 2 | -------------------------------------------------------------------------------- /tests/cedet/ede/src/emacs/src/emacs.c: -------------------------------------------------------------------------------- 1 | /* Fake emacs.c for faking out EDE tests */ 2 | -------------------------------------------------------------------------------- /tests/cedet/ede/src/emacs/src/lisp.h: -------------------------------------------------------------------------------- 1 | /* lisp for test */ 2 | -------------------------------------------------------------------------------- /tests/cedet/ede/src/linux/Makefile: -------------------------------------------------------------------------------- 1 | VERSION = 1 2 | PATCHLEVEL = 2 3 | SUBLEVEL = 3 4 | -------------------------------------------------------------------------------- /tests/cedet/ede/src/linux/scripts/ver_linux: -------------------------------------------------------------------------------- 1 | 1.0 2 | # Fake linux marker -------------------------------------------------------------------------------- /tests/cedet/ede/src/proj/Project.ede: -------------------------------------------------------------------------------- 1 | ;; Object proj 2 | ;; EDE Project Files are auto generated: Do Not Edit 3 | (ede-proj-project "proj" 4 | :file "Project.ede" 5 | :name "proj" 6 | :targets 7 | (list 8 | (ede-proj-target-makefile-miscelaneous "misc" 9 | :name "misc" 10 | :path "" 11 | :source '("TEST")))) 12 | -------------------------------------------------------------------------------- /tests/cedet/ede/src/proj/TEST: -------------------------------------------------------------------------------- 1 | TEST -------------------------------------------------------------------------------- /tests/cedet/semantic/complete.el: -------------------------------------------------------------------------------- 1 | (defun semantic-complete-test () 2 | "Test completion mechanisms." 3 | (interactive) 4 | (message "%S" 5 | (semantic-format-tag-prototype 6 | (semantic-complete-read-tag-project "Jump to symbol: ")))) 7 | -------------------------------------------------------------------------------- /tests/cedet/semantic/db-ebrowse.el: -------------------------------------------------------------------------------- 1 | (defun semanticdb-ebrowse-run-tests () 2 | "Run some tests of the semanticdb-ebrowse system. 3 | All systems are different. Ask questions along the way." 4 | (interactive) 5 | (let ((doload nil)) 6 | (when (y-or-n-p "Create a system database to test with? ") 7 | (call-interactively 'semanticdb-create-ebrowse-database) 8 | (setq doload t)) 9 | ;; Should we load in caches 10 | (when (if doload 11 | (y-or-n-p "New database created. Reload system databases? ") 12 | (y-or-n-p "Load in all system databases? ")) 13 | (semanticdb-load-ebrowse-caches))) 14 | ;; Ok, databases were creatd. Lets try some searching. 15 | (when (not (or (eq major-mode 'c-mode) 16 | (eq major-mode 'c++-mode))) 17 | (error "Please make your default buffer be a C or C++ file, then 18 | run the test again.."))) 19 | -------------------------------------------------------------------------------- /tests/cedet/semantic/db-find.el: -------------------------------------------------------------------------------- 1 | (defun semanticdb-test-current-database-list () 2 | "Call and output results of `semanticdb-current-database-list'. 3 | Uses the `default-directory' to derive results." 4 | (interactive) 5 | (require 'data-debug) 6 | (let ((start (current-time)) 7 | (p (semanticdb-current-database-list))) 8 | (data-debug-new-buffer "*SEMANTICDB Current Database List*") 9 | (data-debug-insert-stuff-list p "*"))) 10 | -------------------------------------------------------------------------------- /tests/cedet/semantic/db-global.el: -------------------------------------------------------------------------------- 1 | (defvar semanticdb-test-gnu-global-startfile "~/src/global-5.7.3/global/global.c" 2 | "File to use for testing.") 3 | 4 | (defun semanticdb-test-gnu-global (searchfor &optional standardfile) 5 | "Test the GNU Global semanticdb. 6 | Argument SEARCHFOR is the text to search for. 7 | If optional arg STANDARDFILE is non nil, use a standard file w/ global enabled." 8 | (interactive "sSearch For Tag: \nP") 9 | 10 | (save-excursion 11 | (when standardfile 12 | (save-match-data 13 | (set-buffer (find-file-noselect semanticdb-test-gnu-global-startfile)))) 14 | 15 | (condition-case err 16 | (semanticdb-enable-gnu-global-in-buffer) 17 | (error (if standardfile 18 | (error err) 19 | (save-match-data 20 | (set-buffer (find-file-noselect semanticdb-test-gnu-global-startfile))) 21 | (semanticdb-enable-gnu-global-in-buffer)))) 22 | 23 | (let* ((db (semanticdb-project-database-global "global")) 24 | (tab (semanticdb-file-table db (buffer-file-name))) 25 | (result (semanticdb-deep-find-tags-for-completion-method tab searchfor))) 26 | (data-debug-new-buffer "*SemanticDB Gnu Global Result*") 27 | (data-debug-insert-thing result "?" "")))) 28 | -------------------------------------------------------------------------------- /tests/cedet/semantic/find.el: -------------------------------------------------------------------------------- 1 | (defun semantic-find-benchmark () 2 | "Run some simple benchmarks to see how we are doing. 3 | Optional argument ARG is the number of iterations to run." 4 | (interactive) 5 | (require 'benchmark) 6 | (let ((f-name nil) 7 | (b-name nil) 8 | (f-comp) 9 | (b-comp) 10 | (f-regex) 11 | ) 12 | (garbage-collect) 13 | (setq f-name 14 | (benchmark-run-compiled 15 | 1000 (semantic-find-first-tag-by-name "class3" 16 | "test/test.cpp"))) 17 | (garbage-collect) 18 | (setq b-name 19 | (benchmark-run-compiled 20 | 1000 (semantic-brute-find-first-tag-by-name "class3" 21 | "test/test.cpp"))) 22 | (garbage-collect) 23 | (setq f-comp 24 | (benchmark-run-compiled 25 | 1000 (semantic-find-tags-for-completion "method" 26 | "test/test.cpp"))) 27 | (garbage-collect) 28 | (setq b-comp 29 | (benchmark-run-compiled 30 | 1000 (semantic-brute-find-tag-by-name-regexp "^method" 31 | "test/test.cpp"))) 32 | (garbage-collect) 33 | (setq f-regex 34 | (benchmark-run-compiled 35 | 1000 (semantic-find-tags-by-name-regexp "^method" 36 | "test/test.cpp"))) 37 | 38 | (message "Name [new old] [ %.3f %.3f ] Complete [newc/new old] [ %.3f/%.3f %.3f ]" 39 | (car f-name) (car b-name) 40 | (car f-comp) (car f-regex) 41 | (car b-comp)) 42 | )) 43 | -------------------------------------------------------------------------------- /tests/cedet/semantic/format.el: -------------------------------------------------------------------------------- 1 | (defun semantic-test-all-format-tag-functions (&optional arg) 2 | "Test all outputs from `semantic-format-tag-functions'. 3 | Output is generated from the function under `point'. 4 | Optional argument ARG specifies not to use color." 5 | (interactive "P") 6 | (semantic-fetch-tags) 7 | (let* ((tag (semantic-current-tag)) 8 | (par (semantic-current-tag-parent)) 9 | (fns semantic-format-tag-functions)) 10 | (with-output-to-temp-buffer "*format-tag*" 11 | (princ "Tag->format function tests:") 12 | (while fns 13 | (princ "\n") 14 | (princ (car fns)) 15 | (princ ":\n ") 16 | (let ((s (funcall (car fns) tag par (not arg)))) 17 | (save-excursion 18 | (set-buffer "*format-tag*") 19 | (goto-char (point-max)) 20 | (insert s))) 21 | (setq fns (cdr fns)))) 22 | )) 23 | -------------------------------------------------------------------------------- /tests/cedet/semantic/idle.el: -------------------------------------------------------------------------------- 1 | (defun semantic-idle-pnf-test () 2 | "Test `semantic-idle-scheduler-work-parse-neighboring-files' and time it." 3 | (interactive) 4 | (let ((start (current-time)) 5 | (junk (semantic-idle-scheduler-work-parse-neighboring-files)) 6 | (end (current-time))) 7 | (message "Work took %.2f seconds." (semantic-elapsed-time start end)))) 8 | -------------------------------------------------------------------------------- /tests/cedet/semantic/lex-spp-utest.el: -------------------------------------------------------------------------------- 1 | ;;; lex-spp-utest.el --- 2 | ;; 3 | ;; Copyright (C) 2011 Eric M. Ludlam 4 | ;; 5 | ;; Author: Eric M. Ludlam 6 | ;; 7 | ;; This program is free software; you can redistribute it and/or 8 | ;; modify it under the terms of the GNU General Public License as 9 | ;; published by the Free Software Foundation, either version 3 of the 10 | ;; License, or (at your option) any later version. 11 | 12 | ;; This program is distributed in the hope that it will be useful, but 13 | ;; WITHOUT ANY WARRANTY; without even the implied warranty of 14 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | ;; General Public License for more details. 16 | 17 | ;; You should have received a copy of the GNU General Public License 18 | ;; along with this program. If not, see http://www.gnu.org/licenses/. 19 | 20 | 21 | ;;; Commentary: 22 | ;; 23 | ;; 24 | 25 | ;;; Code: 26 | 27 | (defun semantic-lex-spp-write-test () 28 | "Test the semantic tag writer against the current buffer." 29 | (interactive) 30 | (with-output-to-temp-buffer "*SPP Write Test*" 31 | (semantic-lex-spp-table-write-slot-value 32 | (semantic-lex-spp-save-table)))) 33 | 34 | (defun semantic-lex-spp-write-utest () 35 | "Unit test using the test spp file to test the slot write fcn." 36 | (interactive) 37 | (let* ((sem (or (locate-library "cedet/semantic/lex-spp-utest.el") 38 | (error "Could not locate library 'cedet/semantic/lex-spp-utest.el'."))) 39 | (dir (file-name-directory sem)) 40 | (filename (expand-file-name "tests/testsppreplace.c" 41 | dir))) 42 | (save-excursion 43 | (unless (file-exists-p filename) 44 | (error "Could not find file %s." filename)) 45 | (set-buffer (find-file-noselect filename)) 46 | (semantic-lex-spp-write-test)))) 47 | 48 | (provide 'cedet/semantic/lex-spp-utest) 49 | 50 | ;;; lex-spp-utest.el ends here 51 | -------------------------------------------------------------------------------- /tests/cedet/semantic/lex-utest.el: -------------------------------------------------------------------------------- 1 | ;;; lex-utest.el --- 2 | ;; 3 | ;; Copyright (C) 2011 Eric M. Ludlam 4 | ;; 5 | ;; Author: Eric M. Ludlam 6 | ;; 7 | ;; This program is free software; you can redistribute it and/or 8 | ;; modify it under the terms of the GNU General Public License as 9 | ;; published by the Free Software Foundation, either version 3 of the 10 | ;; License, or (at your option) any later version. 11 | 12 | ;; This program is distributed in the hope that it will be useful, but 13 | ;; WITHOUT ANY WARRANTY; without even the implied warranty of 14 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | ;; General Public License for more details. 16 | 17 | ;; You should have received a copy of the GNU General Public License 18 | ;; along with this program. If not, see http://www.gnu.org/licenses/. 19 | 20 | 21 | ;;; Commentary: 22 | ;; 23 | ;; 24 | 25 | ;;; Code: 26 | 27 | (defun semantic-lex-test-full-depth (arg) 28 | "Test the semantic lexer in the current buffer parsing through lists. 29 | Usually the lexer parses 30 | If universal argument ARG, then try the whole buffer." 31 | (interactive "P") 32 | (let* ((start (current-time)) 33 | (result (semantic-lex 34 | (if arg (point-min) (point)) 35 | (point-max) 36 | 100)) 37 | (end (current-time))) 38 | (message "Elapsed Time: %.2f seconds." 39 | (semantic-elapsed-time start end)) 40 | (pop-to-buffer "*Lexer Output*") 41 | (require 'pp) 42 | (erase-buffer) 43 | (insert (pp-to-string result)) 44 | (goto-char (point-min)))) 45 | 46 | (defun semantic-lex-test-region (beg end) 47 | "Test the semantic lexer in the current buffer. 48 | Analyze the area between BEG and END." 49 | (interactive "r") 50 | (let ((result (semantic-lex beg end))) 51 | (pop-to-buffer "*Lexer Output*") 52 | (require 'pp) 53 | (erase-buffer) 54 | (insert (pp-to-string result)) 55 | (goto-char (point-min)))) 56 | 57 | 58 | (provide 'cedet/semantic/lex-utest) 59 | 60 | ;;; lex-utest.el ends here 61 | -------------------------------------------------------------------------------- /tests/cedet/semantic/tag-write.el: -------------------------------------------------------------------------------- 1 | (defun semantic-tag-write-test () 2 | "Test the semantic tag writer against the tag under point." 3 | (interactive) 4 | (with-output-to-temp-buffer "*Tag Write Test*" 5 | (semantic-tag-write-one-tag (semantic-current-tag)))) 6 | 7 | (defun semantic-tag-write-list-test () 8 | "Test the semantic tag writer against the tag under point." 9 | (interactive) 10 | (with-output-to-temp-buffer "*Tag Write Test*" 11 | (semantic-tag-write-tag-list (semantic-fetch-tags)))) 12 | -------------------------------------------------------------------------------- /tests/cedet/semantic/tests/Makefile: -------------------------------------------------------------------------------- 1 | # Automatically Generated Makefile by EDE. 2 | # For use with: make 3 | # Relative File Name: Makefile 4 | # 5 | # DO NOT MODIFY THIS FILE OR YOUR CHANGES MAY BE LOST. 6 | # EDE is the Emacs Development Environment. 7 | # http://cedet.sourceforge.net/ede.shtml 8 | # 9 | 10 | top="$(CURDIR)"/ 11 | ede_FILES=Project.ede Makefile 12 | 13 | Tests_MISC=test.c test.cpp templates.cpp test.make scopetest.cpp scopetest.java testdoublens.cpp testdoublens.hpp testsubclass.cpp testsubclass.hh testspp.c testsppreplace.c testsppreplaced.c testtypedefs.cpp testfriends.cpp testusing.hh testusing.cpp testtemplates.cpp testjavacomp.java testsppcomplete.c teststruct.cpp testvarnames.c testnsp.cpp testsppcond.cpp testf90.f90 testmodule.f90 test-fmt.cpp test-fmt.el testlocalvars.cpp testvarnames.java 14 | VERSION=1.0 15 | DISTDIR=$(top)Tests-$(VERSION) 16 | 17 | 18 | 19 | all: Tests 20 | 21 | Tests: 22 | @ 23 | 24 | tags: 25 | 26 | .PHONY: dist 27 | 28 | dist: 29 | rm -rf $(DISTDIR) 30 | mkdir $(DISTDIR) 31 | cp $(Tests_MISC) $(ede_FILES) $(DISTDIR) 32 | tar -cvzf $(DISTDIR).tar.gz $(DISTDIR) 33 | rm -rf $(DISTDIR) 34 | 35 | Makefile: Project.ede 36 | @echo Makefile is out of date! It needs to be regenerated by EDE. 37 | @echo If you have not modified Project.ede, you can use 'touch' to update the Makefile time stamp. 38 | @false 39 | 40 | 41 | 42 | # End of Makefile 43 | -------------------------------------------------------------------------------- /tests/cedet/semantic/tests/Project.ede: -------------------------------------------------------------------------------- 1 | ;; Object semantic/tests 2 | ;; EDE Project Files are auto generated: Do Not Edit 3 | (ede-proj-project "semantic/tests" 4 | :file "Project.ede" 5 | :name "Tests" 6 | :targets 7 | (list 8 | (ede-proj-target-makefile-miscelaneous "Tests" 9 | :name "Tests" 10 | :path "" 11 | :source '("test.c" "test.cpp" "templates.cpp" "test.make" "scopetest.cpp" "scopetest.java" "testdoublens.cpp" "testdoublens.hpp" "testsubclass.cpp" "testsubclass.hh" "testspp.c" "testsppreplace.c" "testsppreplaced.c" "testtypedefs.cpp" "testfriends.cpp" "testusing.hh" "testusing.cpp" "testtemplates.cpp" "testjavacomp.java" "testsppcomplete.c" "teststruct.cpp" "testvarnames.c" "testnsp.cpp" "testsppcond.cpp" "testf90.f90" "testmodule.f90" "test-fmt.cpp" "test-fmt.el" "testlocalvars.cpp" "testvarnames.java")))) 12 | -------------------------------------------------------------------------------- /tests/cedet/semantic/tests/maven2-testproject/README: -------------------------------------------------------------------------------- 1 | This is a minimal test case for cedets Ede/Maven2 support. 2 | 3 | It has three parts, one rootproject and two child projects. 4 | 5 | The ede function ede-compile-project should be able to build each of 6 | the childs separately, and building the root will build the two 7 | children as well. The rootproject is called an aggregator project in 8 | mavens terminology. 9 | 10 | The projects were made with "mvn archetype:generate" and edited a bit. 11 | 12 | -------------------------------------------------------------------------------- /tests/cedet/semantic/tests/maven2-testproject/rootproject/child1project/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4.0.0 4 | cedet.test 5 | child1project 6 | jar 7 | 1.0-SNAPSHOT 8 | child1project 9 | http://maven.apache.org 10 | 11 | 12 | junit 13 | junit 14 | 3.8.1 15 | test 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /tests/cedet/semantic/tests/maven2-testproject/rootproject/child1project/src/main/java/cedet/test/child1project/App.java: -------------------------------------------------------------------------------- 1 | package cedet.test.child1project; 2 | 3 | /** 4 | * Hello world! 5 | * 6 | */ 7 | public class App 8 | { 9 | public static void main( String[] args ) 10 | { 11 | System.out.println( "Hello World!" ); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /tests/cedet/semantic/tests/maven2-testproject/rootproject/child1project/src/test/java/cedet/test/child1project/AppTest.java: -------------------------------------------------------------------------------- 1 | package cedet.test.child1project; 2 | 3 | import junit.framework.Test; 4 | import junit.framework.TestCase; 5 | import junit.framework.TestSuite; 6 | 7 | /** 8 | * Unit test for simple App. 9 | */ 10 | public class AppTest 11 | extends TestCase 12 | { 13 | /** 14 | * Create the test case 15 | * 16 | * @param testName name of the test case 17 | */ 18 | public AppTest( String testName ) 19 | { 20 | super( testName ); 21 | } 22 | 23 | /** 24 | * @return the suite of tests being tested 25 | */ 26 | public static Test suite() 27 | { 28 | return new TestSuite( AppTest.class ); 29 | } 30 | 31 | /** 32 | * Rigourous Test :-) 33 | */ 34 | public void testApp() 35 | { 36 | assertTrue( true ); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /tests/cedet/semantic/tests/maven2-testproject/rootproject/child2project/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4.0.0 4 | cedet.test 5 | child2project 6 | jar 7 | 1.0-SNAPSHOT 8 | child2project 9 | http://maven.apache.org 10 | 11 | 12 | junit 13 | junit 14 | 3.8.1 15 | test 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /tests/cedet/semantic/tests/maven2-testproject/rootproject/child2project/src/main/java/cedet/test/child2project/App.java: -------------------------------------------------------------------------------- 1 | package cedet.test.child2project; 2 | 3 | /** 4 | * Hello world! 5 | * 6 | */ 7 | public class App 8 | { 9 | public static void main( String[] args ) 10 | { 11 | System.out.println( "Hello World!" ); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /tests/cedet/semantic/tests/maven2-testproject/rootproject/child2project/src/test/java/cedet/test/child2project/AppTest.java: -------------------------------------------------------------------------------- 1 | package cedet.test.child2project; 2 | 3 | import junit.framework.Test; 4 | import junit.framework.TestCase; 5 | import junit.framework.TestSuite; 6 | 7 | /** 8 | * Unit test for simple App. 9 | */ 10 | public class AppTest 11 | extends TestCase 12 | { 13 | /** 14 | * Create the test case 15 | * 16 | * @param testName name of the test case 17 | */ 18 | public AppTest( String testName ) 19 | { 20 | super( testName ); 21 | } 22 | 23 | /** 24 | * @return the suite of tests being tested 25 | */ 26 | public static Test suite() 27 | { 28 | return new TestSuite( AppTest.class ); 29 | } 30 | 31 | /** 32 | * Rigourous Test :-) 33 | */ 34 | public void testApp() 35 | { 36 | assertTrue( true ); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /tests/cedet/semantic/tests/maven2-testproject/rootproject/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4.0.0 4 | cedet.test 5 | rootproject 6 | pom 7 | 1.0-SNAPSHOT 8 | rootproject 9 | http://maven.apache.org 10 | 11 | 12 | junit 13 | junit 14 | 3.8.1 15 | test 16 | 17 | 18 | 19 | child1project 20 | child2project 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /tests/cedet/semantic/tests/scopetest.cpp: -------------------------------------------------------------------------------- 1 | /* Test scoping rules for c++ in the analyzer. */ 2 | 3 | namespace { 4 | 5 | class aclass2; // Forward reference. 6 | 7 | class aclass1 { 8 | private: 9 | int attrp1; 10 | int amethodp1(int argp1); 11 | aclass2 areference; 12 | protected: 13 | int attrpr1; 14 | public: 15 | int attr1; 16 | int amethod1(int arg1); 17 | }; 18 | } 19 | 20 | namespace { 21 | class aclass2 : public aclass1 22 | { 23 | private: 24 | int attrp2; 25 | int amethodp2(int argp1); 26 | public: 27 | aclass2(int aninitvalue); 28 | ~aclass2(); 29 | int attr2; 30 | int amethod2(int arg2); 31 | }; 32 | } 33 | 34 | aclass2::aclass2(init aninitvalue) 35 | { 36 | /* This is a comment that talks about aclass1 */ 37 | aclass1; 38 | } 39 | 40 | int aclass2::amethod2(int arg2) 41 | { 42 | int alocalvar; 43 | float q; 44 | 45 | ac; 46 | } 47 | 48 | -------------------------------------------------------------------------------- /tests/cedet/semantic/tests/scopetest.java: -------------------------------------------------------------------------------- 1 | class Foo { 2 | 3 | public void a1() {} 4 | 5 | class Bar { 6 | 7 | public int a2() {} 8 | 9 | public void b() { 10 | a // -1- 11 | } 12 | 13 | class Baz { 14 | 15 | public int a3() {} 16 | 17 | public Baz(int a4) { 18 | a // -2- 19 | } 20 | 21 | } 22 | 23 | } 24 | 25 | } -------------------------------------------------------------------------------- /tests/cedet/semantic/tests/test-fmt.el: -------------------------------------------------------------------------------- 1 | ;;; test-fmt.el --- 2 | ;; 3 | ;; Copyright (C) 2012 Eric M. Ludlam 4 | ;; 5 | ;; Author: Eric M. Ludlam 6 | ;; 7 | ;; This program is free software; you can redistribute it and/or 8 | ;; modify it under the terms of the GNU General Public License as 9 | ;; published by the Free Software Foundation; either version 2, or (at 10 | ;; your option) any later version. 11 | 12 | ;; This program is distributed in the hope that it will be useful, but 13 | ;; WITHOUT ANY WARRANTY; without even the implied warranty of 14 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | ;; General Public License for more details. 16 | 17 | ;; You should have received a copy of the GNU General Public License 18 | ;; along with this program; see the file COPYING. If not, write to 19 | ;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 20 | ;; Boston, MA 02110-1301, USA. 21 | 22 | ;;; Commentary: 23 | ;; 24 | ;; 25 | 26 | ;;; Code: 27 | (require 'semantic) 28 | ;; 29 | ;; ## name "semantic" 30 | ;; ## abbreviate "semantic<>" 31 | ;; ## summarize "Requires: semantic" 32 | 33 | (defun test-fmt-1 (a) 34 | "Function with 1 arg.") 35 | ;; 36 | ;; ## name "test-fmt-1" 37 | ;; ## abbreviate "(test-fmt-1)" 38 | ;; ## summarize "Defuns: (test-fmt-1 a)" 39 | ;; ## short-doc "Function with 1 arg." 40 | ;; ## uml-prototype "(test-fmt-1 a)" <-- That is probably wrong. 41 | 42 | (defvar test-fmt-var nil 43 | "Variable test.") 44 | ;; 45 | ;; ## name "test-fmt-var" 46 | ;; ## abbreviate "test-fmt-var" 47 | ;; ## summarize "Variables: test-fmt-var" 48 | ;; ## short-doc "Variable test." 49 | ;; ## uml-prototype "test-fmt-var" 50 | 51 | (defclass test-fmt-class () 52 | ((slot1 :initarg :slot1)) 53 | "Class for testing.") 54 | ;; 55 | ;; ## name "test-fmt-class" 56 | ;; ## abbreviate "test-fmt-class{}" 57 | ;; ## summarize "Types: class test-fmt-class {}" 58 | ;; ## short-doc "Class for testing." 59 | ;; ## uml-prototype "class test-fmt-class {}" 60 | 61 | 62 | 63 | (provide 'test-fmt) 64 | 65 | ;;; test-fmt.el ends here 66 | -------------------------------------------------------------------------------- /tests/cedet/semantic/tests/test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexott/cedet/f7403518b88a60dcd5aea4d2d0deafcce4856b43/tests/cedet/semantic/tests/test.cpp -------------------------------------------------------------------------------- /tests/cedet/semantic/tests/test.make: -------------------------------------------------------------------------------- 1 | # Test makefile -*- makefile -*- 2 | 3 | top= 4 | ede_FILES=Project.ede Makefile 5 | 6 | example_MISC=semantic/bovine/skel.el skeleton.bnf 7 | init_LISP=semantic/load.el 8 | DISTDIR=$(top)semantic-$(VERSION) 9 | 10 | # really goofy & variables tabs 11 | A= B 12 | A =B 13 | A=B C 14 | A=B\ 15 | C 16 | 17 | A= http://${B} \ 18 | ftp://${B} 19 | B= test 20 | 21 | all: example semantic Languages tools senator semantic.info 22 | 23 | test ${B}: foo bar 24 | @echo ${A} 25 | 26 | example: 27 | @ 28 | 29 | init: $(init_LISP) 30 | @echo "(add-to-list 'load-path nil)" > $@-compile-script 31 | @if test ! -z "${LOADPATH}" ; then\ 32 | for loadpath in ${LOADPATH}; do \ 33 | echo "(add-to-list 'load-path \"$$loadpath\")" >> $@-compile-script; \ 34 | done;\ 35 | fi 36 | @echo "(setq debug-on-error t)" >> $@-compile-script 37 | $(EMACS) -batch -l $@-compile-script -f batch-byte-compile $^ 38 | 39 | include tesset.mk tusset.mk 40 | include oneset.mk 41 | 42 | ifdef SOME_SYMBOL 43 | VAR1 = foo 44 | else 45 | VAR1 = bar 46 | endif 47 | 48 | ifndef SOME_OTHER_SYMBOL 49 | VAR1 = baz 50 | endif 51 | 52 | ifeq ($(VAR1), foo) 53 | VAR2 = gleep 54 | else 55 | ifneq ($(VAR1), foo) 56 | VAR2 = glop 57 | endif 58 | endif 59 | 60 | # End of Makefile 61 | -------------------------------------------------------------------------------- /tests/cedet/semantic/tests/testdoublens.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // Header file used in one of the ia-utest tests. 3 | // 4 | namespace Name1 { 5 | namespace Name2 { 6 | 7 | class Foo 8 | { 9 | typedef unsigned int Mumble; 10 | public: 11 | Foo(); 12 | ~Foo(); 13 | int get(); 14 | 15 | private: 16 | void publishStuff(char /* a */, char /* b */); 17 | 18 | void publishStuff(int q, int r); // Purposely different names. 19 | 20 | void sendStuff(int a, int b); 21 | 22 | Mumble* pMumble; 23 | }; 24 | 25 | typedef Foo stage1_Foo; 26 | 27 | } // namespace Name2 28 | 29 | typedef Name2::stage1_Foo stage2_Foo; 30 | 31 | typedef Name2::Foo decl_stage1_Foo; 32 | 33 | } // namespace Name1 34 | 35 | typedef Name1::stage2_Foo stage3_Foo; 36 | 37 | 38 | // Double namespace from Hannu Koivisto 39 | namespace a { 40 | namespace b { 41 | 42 | class Foo 43 | { 44 | struct Dum { 45 | int diDum; 46 | }; 47 | 48 | protected: 49 | mutable a::b::Foo::Dum dumdum; 50 | }; 51 | 52 | } // namespace b 53 | } // namespace a 54 | -------------------------------------------------------------------------------- /tests/cedet/semantic/tests/testf90.f90: -------------------------------------------------------------------------------- 1 | ! Test Fortran 90 statements 2 | ! David Engster 3 | 4 | program main 5 | use testmodule 6 | implicit none 7 | 8 | integer :: eineVar, foo1, foo2, ppp 9 | double precision, parameter :: bar, foo3 10 | complex :: honk 11 | DOUBLE PRECISION, parameter :: foopi=3.141 12 | integer, dimension(:,:) :: anArray 13 | integer :: foo4=5,foo5,foo6=42 14 | ! Old style declarations 15 | INTEGER fooOldStyleDecl 16 | integer :: foo7(:,:),foo8(5) 17 | 18 | type :: aType 19 | integer :: one,two 20 | complex :: three,four 21 | real :: five 22 | end type aType 23 | 24 | type(aType) :: theType 25 | 26 | ! completion of subroutines 27 | call external!-1- 28 | !#1# ( "externalPolySub" "externalSub" ) 29 | call my!-2- 30 | !#2# ( "myModSub" "mySub" ) 31 | 32 | ! type-aware completion of functions 33 | bar = m!-3- 34 | !#3# ( "myFunc" "myModFunc" ) 35 | 36 | ! completion of variables 37 | eineVar = foo!-4- 38 | !#4# ( "foo1" "foo2" "foo4" "foo5" "foo6" "foo7" "foo8" "fooOldStyleDecl" ) 39 | 40 | bar = foo!-5- 41 | !#5# ( "foo3" "foopi" ) 42 | 43 | ! completion of type members 44 | theType%!-6- 45 | !#6# ( "one" "two" "three" "four" "five" ) 46 | honk = theType%!-7- 47 | !#7# ( "four" "three" ) 48 | 49 | contains 50 | 51 | subroutine mySub(aaa,bbb,ccc) 52 | integer,intent(in) :: aaa,bbb 53 | real,intent(out) :: ccc 54 | 55 | ccc = aaa*bbb 56 | end subroutine mySub 57 | 58 | function myFunc(ddd,eee) 59 | integer :: ddd 60 | real :: eee 61 | double precision myFunc 62 | 63 | myFunc = ddd*e!-8- 64 | !#8# ( "eee" "eineVar" ) 65 | end function myFunc 66 | 67 | integer function anotherFunc(fff) 68 | integer,intent(in),dimension(:) :: fff 69 | anotherFunc = fff(1) 70 | end function anotherFunc 71 | 72 | end program main 73 | 74 | -------------------------------------------------------------------------------- /tests/cedet/semantic/tests/testfriends.cpp: -------------------------------------------------------------------------------- 1 | // Test parsing of friends and how they are used in completion. 2 | /* 3 | >> Thanks Damien Profeta for the nice example. 4 | > 5 | > I paste a small example. 6 | > It would be great if friend can be well parsed and even greater if 7 | > class B can access to all the members of A. 8 | */ 9 | 10 | class Af // %2% ( ( "testfriends.cpp" ) ( "Af" "B::testB" ) ) 11 | { 12 | public: 13 | int pubVar; 14 | private: 15 | int privateVar; 16 | 17 | friend class B; 18 | 19 | }; 20 | 21 | class B 22 | { 23 | public: 24 | int testB(); 25 | int testAB(); 26 | 27 | }; 28 | 29 | 30 | int B::testB() { 31 | Af classA; 32 | classA.//-1- 33 | ; //#1# ( "privateVar" "pubVar" ) 34 | } 35 | 36 | int B::testAB() { // %1% ( ( "testfriends.cpp" ) ( "B" "B::testAB" ) ) 37 | } 38 | -------------------------------------------------------------------------------- /tests/cedet/semantic/tests/testjavacomp.java: -------------------------------------------------------------------------------- 1 | /** testjavacomp.java --- 2 | * 3 | * Copyright (C) 2009, 2012 Eric M. Ludlam 4 | * 5 | * Author: Eric M. Ludlam 6 | * X-RCS: $Id: testjavacomp.java,v 1.1 2009-02-01 16:28:25 zappo Exp $ 7 | * 8 | * This program is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU General Public License as 10 | * published by the Free Software Foundation; either version 2, or (at 11 | * your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, but 14 | * WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | * General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program; see the file COPYING. If not, write to 20 | * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 21 | * Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | package tests.testjavacomp; 25 | 26 | class secondClass { 27 | private void scFuncOne() { } 28 | public void scFuncOne() { } 29 | 30 | int package_protected_field; 31 | public int public_protected_field; 32 | private int private_protected_field; 33 | } 34 | 35 | 36 | public class testjavacomp { 37 | 38 | private int funcOne() { } 39 | private int funcTwo() { } 40 | private char funcThree() { } 41 | 42 | class nestedClass { 43 | private void ncFuncOne() { } 44 | public void ncFuncOne() { } 45 | } 46 | 47 | public void publicFunc() { 48 | 49 | int i; 50 | 51 | i = fu// -1- 52 | // #1# ( "funcOne" "funcTwo" ) 53 | ; 54 | 55 | fu// -2- 56 | // #2# ( "funcOne" "funcThree" "funcTwo" ) 57 | ; 58 | 59 | secondClass SC; 60 | 61 | SC.s//-3- 62 | // #3# ( "scFuncOne" ) 63 | ; 64 | 65 | // @TODO - to make this test complete, we need an import 66 | // with a package protected field that is excluded 67 | // from the completion list. 68 | SC.p//-4- 69 | // #4# ( "public_protected_field" "package_protected_field" ) 70 | 71 | nestedClass NC; 72 | 73 | // @todo - need to fix this? I don't know if this is legal java. 74 | NC.// - 5- 75 | // #5# ( "ncFuncOne" ) 76 | ; 77 | } 78 | 79 | } // testjavacomp 80 | -------------------------------------------------------------------------------- /tests/cedet/semantic/tests/testlocalvars.cpp: -------------------------------------------------------------------------------- 1 | // Test parsing of local variables 2 | 3 | class foo { 4 | foo *member; 5 | char anArray[10]; 6 | }; 7 | 8 | void func() 9 | { 10 | foo local1; 11 | foo* local2 = localvar.member; 12 | foo* local3 = new foo(); 13 | foo local4[10]; 14 | char local5[5] = {'1','2','3','4','5'}; 15 | char *local6 = "12345"; 16 | char local7 = local.anArray[0]; 17 | char local8 = true ? 10 : 11 ; 18 | 19 | // Check that all of the above was parsed 20 | local//-1- 21 | ; //#1# ("local1" "local2" "local3" "local4" "local5" "local6" "local7" "local8" ) 22 | 23 | local1.//-2- 24 | ; //#2# ("anArray" "member") 25 | 26 | local2->//-3- 27 | ; //#3# ("anArray" "member") 28 | 29 | local3->//-4- 30 | ; //#4# ("anArray" "member") 31 | 32 | local4[0].//-5- 33 | ; //#5# ("anArray" "member") 34 | } 35 | -------------------------------------------------------------------------------- /tests/cedet/semantic/tests/testmodule.f90: -------------------------------------------------------------------------------- 1 | ! For testing of Fortran 90 modules 2 | ! David Engster 3 | 4 | module testmodule 5 | implicit none 6 | 7 | type :: myModType 8 | integer :: one,two 9 | real :: three 10 | end type myType 11 | 12 | ! interface for external sub 13 | interface 14 | subroutine externalSub(arg1,arg2,arg3) 15 | integer :: arg1 16 | type(myModType) :: arg2 17 | real :: arg3 18 | end subroutine externalSub 19 | end interface 20 | 21 | ! interface for polymorphism 22 | interface externalPolySub 23 | subroutine polySub_1(arg1,arg2) 24 | integer :: arg1,arg2 25 | end subroutine polySub_1 26 | 27 | subroutine polySub_2(arg1,arg2) 28 | real :: arg1,arg2 29 | end subroutine polySub_2 30 | end interface polySub 31 | 32 | 33 | contains 34 | 35 | double precision function myModFunc(arg1,arg2) 36 | double precision :: arg1,arg2 37 | 38 | myModFunc = arg1*arg2 39 | end function myModFunc 40 | 41 | subroutine myModSub(arg1,arg2) 42 | integer,intent(in) :: arg1 43 | integer,intent(out) :: arg2 44 | 45 | arg2=2*arg1 46 | end subroutine myModSub 47 | 48 | end module testmodule 49 | -------------------------------------------------------------------------------- /tests/cedet/semantic/tests/testnsp.cpp: -------------------------------------------------------------------------------- 1 | // Test NSP (Name space parent) 2 | // 3 | // Test dereferencing parents based on local parent scope. 4 | // 5 | // Derived from data David Engster provided. 6 | 7 | namespace nsp { 8 | 9 | class rootclass { 10 | public: 11 | int fromroot() {}; 12 | }; 13 | 14 | } 15 | 16 | namespace nsp { 17 | class childclass : public rootclass { 18 | public: 19 | int fromchild() {}; 20 | }; 21 | } 22 | 23 | void myfcn_not_in_ns (void) { 24 | nsp::childclass test; 25 | 26 | test.// -1- 27 | ; // #1# ( "fromchild" "fromroot" ) 28 | } 29 | 30 | // Test a class declared in a class, where the contents 31 | // are in a qualified name. 32 | // 33 | // Thanks Michael Reiher for the concise example. 34 | 35 | class AAA 36 | { 37 | public: 38 | AAA(); 39 | 40 | void aaa(); 41 | 42 | private: 43 | class Private; 44 | Private * const d; 45 | }; 46 | 47 | class AAA::Private 48 | { 49 | Private() : bbb(0) { 50 | } 51 | 52 | BBB* bbb; 53 | }; 54 | 55 | void AAA::aaa() 56 | { 57 | d->// -2- 58 | ; // #2# ( "bbb" ) 59 | } 60 | 61 | // #include files inside a namespace 62 | // David Engster 63 | // See revisions 8034-8037 which implement this. 64 | 65 | namespace another { 66 | #include "testdoublens.hpp" 67 | } 68 | 69 | void foo(void) { 70 | 71 | another::// -3- 72 | ; // #3# ( "Name1" "a" "stage3_Foo" ) 73 | 74 | another::Name1::Name2::Foo a; 75 | 76 | a.// -4- 77 | ; // #4# ( "Mumble" "get" ) 78 | } 79 | -------------------------------------------------------------------------------- /tests/cedet/semantic/tests/testspp.c: -------------------------------------------------------------------------------- 1 | /* Attempt to test the C preprocessor 2 | * 3 | */ 4 | 5 | int some_fcn (){} 6 | 7 | 8 | #ifndef MOOSE 9 | int pre_show_moose(){} 10 | #endif 11 | 12 | #ifdef MOOSE 13 | int pre_dont_show_moose(){} 14 | #endif 15 | 16 | #if !defined(MOOSE) 17 | int pre_show_moose_if(){} 18 | #endif 19 | 20 | #if defined(MOOSE) 21 | int pre_dont_show_moose_if(){} 22 | #endif 23 | 24 | #define MOOSE 25 | 26 | #if 0 27 | int dont_show_function_if_0(){} 28 | #endif 29 | 30 | #if 1 31 | int show_function_if_1(){} 32 | #endif 33 | 34 | #ifdef MOOSE 35 | int moose_function(){} 36 | #endif 37 | 38 | #ifndef MOOSE 39 | int dont_show_moose(){} 40 | #endif 41 | 42 | #if defined(MOOSE) 43 | int moose_function_if(){} 44 | #endif 45 | 46 | #if !defined(MOOSE) 47 | int dont_show_moose_if() {} 48 | #endif 49 | 50 | #undef MOOSE 51 | 52 | #ifdef MOOSE 53 | int no_handy_moose(){} 54 | #endif 55 | 56 | #ifndef MOOSE 57 | int show_moose_else() {} 58 | #else 59 | int no_show_moose_else(){} 60 | #endif 61 | 62 | 63 | #ifdef MOOSE 64 | int no_show_moose_else_2() {} 65 | #else 66 | int show_moose_else_2() {} 67 | #endif 68 | 69 | #if defined(MOOSE) 70 | int no_show_moose_elif() {} 71 | #elif !defined(MOOSE) 72 | int show_moose_elif() {} 73 | #else 74 | int no_show_moose_elif_else() {} 75 | #endif 76 | 77 | #if defined(MOOSE) 78 | int no_show_moose_if_elif_2() {} 79 | #elif defined(COW) 80 | int no_show_moose_elif_2() {} 81 | #else 82 | int show_moose_elif_else() {} 83 | #endif 84 | 85 | -------------------------------------------------------------------------------- /tests/cedet/semantic/tests/testsppcomplete.c: -------------------------------------------------------------------------------- 1 | /* Example provided by Hannes Janetzek */ 2 | 3 | struct Test { int test; }; 4 | 5 | #define BLA(_type) \ 6 | _type *bla = (_type*) malloc(sizeof(_type)); 7 | 8 | #define BLUB(_type) \ 9 | (_type*)malloc(sizeof(_type)); 10 | 11 | #define FOO(_type) \ 12 | _type *foo = BLUB(_type); 13 | 14 | #define BAR(_type) \ 15 | _type *bar = (*_type)BLUB(_type); 16 | 17 | int main(int argc, char *argv[]) { 18 | BLA(Test); 19 | bla->// -1- 20 | ; // #1# ( "test" ) 21 | 22 | FOO(Test); 23 | foo->// -2- 24 | ; // #2# ( "test" ) 25 | 26 | BAR(Test); 27 | bar->// -3- 28 | ; // #3# ( "test" ) 29 | } 30 | 31 | /* Test symref and macros together. */ 32 | 33 | // This function exists only so we can have a comment in a tag with this name. 34 | void function_with_macro_name () 35 | // %1% ( ( "testsppcomplete.c" ) ( "function_with_macro_name" "function_with_macro_name" "use_macro") ) 36 | // Note: fwmn is in twice, once for function, and once for the constant macro below. 37 | { 38 | } 39 | 40 | #define function_with_macro_name 1 41 | 42 | int use_macro () { 43 | int a = function_with_macro_name; 44 | } 45 | 46 | -------------------------------------------------------------------------------- /tests/cedet/semantic/tests/teststruct.cpp: -------------------------------------------------------------------------------- 1 | // Combinations of templates and structure inheritance. 2 | // 3 | // Created by Alex Ott. 4 | 5 | template 6 | struct grammar { 7 | public: 8 | typedef grammar self_t; 9 | typedef DerivedT const& embed_t; 10 | grammar() {} 11 | ~grammar() { } 12 | void use_parser() const { } 13 | void test1() { } 14 | }; 15 | 16 | struct PDFbool_parser : public grammar { 17 | PDFbool_parser() {} 18 | template struct definition { 19 | typedef typename scannerT::iterator_t iterator_t; 20 | int top; 21 | definition(const PDFbool_parser& /*self*/) { 22 | return ; 23 | } 24 | const int start() const { 25 | return top; 26 | } 27 | }; 28 | }; 29 | 30 | int main(void) { 31 | PDFbool_parser PDFbool_p = PDFbool_parser(); 32 | PDFbool_p.//-1- 33 | ; 34 | // #1# ("definition" "embed_t" "self_t" "test1" "use_parser") 35 | } 36 | 37 | // ---------------------------------------------------------------------- 38 | 39 | template struct Base { 40 | public: 41 | void interface() 42 | { 43 | // ... 44 | static_cast(this)->implementation(); 45 | // ... 46 | } 47 | 48 | static void static_func() 49 | { 50 | // ... 51 | Derived::static_sub_func(); 52 | // ... 53 | } 54 | }; 55 | 56 | struct Derived : Base { 57 | void implementation() { } 58 | static void static_sub_func() { } 59 | }; 60 | 61 | int foo () { 62 | Derived d; 63 | d.//-2- 64 | ; 65 | // #2# ("implementation" "interface" "static_func" "static_sub_func") 66 | } 67 | -------------------------------------------------------------------------------- /tests/cedet/semantic/tests/testtemplates.cpp: -------------------------------------------------------------------------------- 1 | // Templates Test file: 2 | // Written by 'Raf' 3 | 4 | template 5 | class read_ref { 6 | public: 7 | const T* read_ref_member_one( T); 8 | const V* read_ref_member_two(); 9 | }; 10 | 11 | namespace NS { 12 | template 13 | class ref { 14 | public: 15 | read_ref operator->() { 16 | m_// -1- 17 | ; 18 | // #1# ( "m_datas" ) 19 | } 20 | 21 | private: 22 | T m_datas[U]; 23 | }; 24 | 25 | } 26 | 27 | class FooOne { 28 | public: 29 | int fooOneMember(); 30 | }; 31 | 32 | class FooTwo { 33 | public: 34 | int fooTwoMember(); 35 | }; 36 | 37 | class FooThree { 38 | public: 39 | int fooThreeMember(); 40 | 41 | FooOne * operator->(); 42 | }; 43 | 44 | typedef ref Test; 45 | 46 | using NS; 47 | 48 | void 49 | main(void) { 50 | ref v; 51 | 52 | v->read_ref_member_one()-> // -2- 53 | ; 54 | // #2# ( "fooOneMember" ) 55 | 56 | v->read_ref_member_two()-> // -3- 57 | ; 58 | // #3# ( "fooTwoMember" ) 59 | 60 | v-> // -4- 61 | ; 62 | // #4# ( "read_ref_member_one" "read_ref_member_two" ) 63 | 64 | Test t; 65 | 66 | t->read_ref_member_two()-> // -5- 67 | ; 68 | // #5# ( "fooTwoMember" ) 69 | 70 | ref v2; 71 | 72 | v2->read_ref_member_two()-> // -6- 73 | ; 74 | // #6# ( "fooOneMember" ) 75 | 76 | /* Try all these things by also specifying the namespace in the name. */ 77 | NS::ref v3; 78 | 79 | v3->read_ref_member_one()-> // -7- 80 | ; 81 | // #7# ( "fooOneMember" ) 82 | 83 | v3->read_ref_member_two()-> // -8- 84 | ; 85 | // #8# ( "fooTwoMember" ) 86 | 87 | v3->read_ref_member_two// @1@ 5 88 | ; 89 | 90 | } 91 | -------------------------------------------------------------------------------- /tests/cedet/semantic/tests/testtypedefs.cpp: -------------------------------------------------------------------------------- 1 | // Sample with some fake bits out of std::string 2 | // 3 | // Thanks Ming-Wei Chang for these examples. 4 | 5 | namespace std { 6 | 7 | template class basic_string { 8 | 9 | public: 10 | void resize(int); 11 | 12 | }; 13 | 14 | } 15 | 16 | typedef std::basic_string mstring; 17 | 18 | using namespace std; 19 | typedef basic_string bstring; 20 | 21 | 22 | int main(){ 23 | mstring a; 24 | 25 | a.// -1- 26 | ; 27 | // #1# ( "resize" ) 28 | 29 | bstring b; 30 | // It doesn't work here. 31 | b.// -2- 32 | ; 33 | // #2# ( "resize" ) 34 | 35 | return 0; 36 | } 37 | 38 | 39 | // ------------------ 40 | 41 | class Bar 42 | { 43 | public: 44 | void someFunc() {} 45 | 46 | }; 47 | 48 | typedef Bar new_Bar; 49 | 50 | template 51 | class TBar 52 | { 53 | public: 54 | void otherFunc() {} 55 | 56 | }; 57 | 58 | typedef TBar new_TBar; 59 | 60 | int main() 61 | { 62 | new_Bar nb; 63 | new_TBar ntb; 64 | 65 | nb.// -3- 66 | ; 67 | // #3# ("someFunc") 68 | 69 | ntb.// -4- 70 | ; 71 | // #4# ("otherFunc") 72 | 73 | return 0; 74 | } 75 | 76 | // ------------------ 77 | // Example from Yupeng. 78 | 79 | typedef struct epd_info { 80 | int a; 81 | } epd_info_t; 82 | 83 | static int epd_probe(struct platform_device *pdev) 84 | { 85 | struct epd_info *db; 86 | epd_info_t db1; 87 | 88 | db.// -5- 89 | ; // #5# ("a") 90 | db1.// -6- 91 | ;// #6# ("a") 92 | 93 | return 1; 94 | } 95 | 96 | // ------------------ 97 | // Example from Michel LAFON-PUYO 98 | 99 | typedef enum 100 | { 101 | ENUM1, 102 | ENUM2 103 | } e_toto; 104 | 105 | typedef struct 106 | { 107 | int field_a; 108 | int field_b; 109 | } t_toto; 110 | 111 | // Note: Error condition from anonymous types in a typedef 112 | // was that the first (ie - the enum) would be used in 113 | // place of the struct. 114 | int func(void) 115 | { 116 | t_toto t; 117 | t. // -7- 118 | ; // #7# ( "field_a" "field_b" ) 119 | return 0; 120 | } 121 | 122 | 123 | -------------------------------------------------------------------------------- /tests/cedet/semantic/tests/testvarnames.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Test variable and function names, lists of variables on one line, etc. 3 | */ 4 | 5 | struct independent { 6 | int indep_1; 7 | int indep_2; 8 | }; 9 | 10 | struct independent var_indep_struct; 11 | 12 | struct { 13 | int unnamed_1; 14 | int unnamed_2; 15 | } var_unamed_struct; 16 | 17 | struct { 18 | int unnamed_3; 19 | int unnamed_4; 20 | } var_un_2, var_un_3; 21 | 22 | struct inlinestruct { 23 | int named_1; 24 | int named_2; 25 | } var_named_struct; 26 | 27 | struct inline2struct { 28 | int named_3; 29 | int named_4; 30 | } var_n_2, var_n_3; 31 | 32 | /* Structures with names that then declare variables 33 | * should also be completable. 34 | * 35 | * Getting this to work is the bugfix in semantic/bovine/c.el CVS v 1.122 36 | */ 37 | struct inlinestruct in_var1; 38 | struct inline2struct in_var2; 39 | 40 | /* 41 | * Structures (or any types) could have the same name as a variable. 42 | * Make sure we complete vars over types. 43 | * 44 | * See cedet-devel mailing list Dec 23, 2013 for details. 45 | */ 46 | struct varorstruct {}; 47 | int varorstruct; 48 | 49 | int assigntovarorstruct; 50 | 51 | int test_1(int var_arg1) { 52 | 53 | var_// -1- 54 | ; // #1# ("var_arg1" "var_indep_struct" "var_n_2" "var_n_3" "var_named_struct" "var_un_2" "var_un_3" "var_unamed_struct") 55 | 56 | var_indep_struct.// -2- 57 | ; // #2# ( "indep_1" "indep_2" ) 58 | 59 | var_unamed_struct.// -3- 60 | ; // #3# ( "unnamed_1" "unnamed_2" ) 61 | 62 | var_named_struct.// -4- 63 | ; // #4# ( "named_1" "named_2" ) 64 | 65 | var_un_2.// -5- 66 | ; // #5# ( "unnamed_3" "unnamed_4" ) 67 | var_un_3.// -6- 68 | ; // #6# ( "unnamed_3" "unnamed_4" ) 69 | 70 | var_n_2.// -7- 71 | ; // #7# ( "named_3" "named_4" ) 72 | var_n_3.// -8- 73 | ; // #8# ( "named_3" "named_4" ) 74 | 75 | in_// -9- 76 | ; // #9# ( "in_var1" "in_var2" ) 77 | 78 | in_var1.// -10- 79 | ; // #10# ( "named_1" "named_2") 80 | in_var2.// -11- 81 | ; // #11# ( "named_3" "named_4") 82 | 83 | varorstruct = assign// -12- 84 | ; // #12# ( "assigntovarorstruct" ) 85 | } 86 | -------------------------------------------------------------------------------- /tests/cedet/semantic/tests/testvarnames.java: -------------------------------------------------------------------------------- 1 | /** testvarnames.java --- Test Class/Variable name overrides 2 | * 3 | * Copyright (C) 2014 Eric M. Ludlam 4 | * 5 | * Author: Eric M. Ludlam 6 | * 7 | * This program is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see http://www.gnu.org/licenses/. 19 | */ 20 | 21 | package tests; 22 | 23 | /** 24 | * 25 | * 26 | * Created: 02/17/14 27 | * 28 | * @author Eric M. Ludlam 29 | * @version 30 | * @since 31 | */ 32 | public class testvarnames { 33 | 34 | public class varorclass { 35 | public static long misclongvalue; 36 | }; 37 | 38 | public static varorclass varoftypevarorclass = NULL; 39 | 40 | public static long varorclass = 1; 41 | 42 | public static long assignintovar = 1; 43 | 44 | public static varorclass classassign = NULL; 45 | 46 | static public void main(String [] args) { 47 | 48 | varorclass = assign// -1- 49 | // #1# ( "assignintovar" ) 50 | ; 51 | 52 | varoftypevarorclass = clas// -2- 53 | // #2# ( "classassign" ) 54 | 55 | varoftypevarorclass.misc//-3- 56 | // #3# ( "misclongvalue" ) 57 | } 58 | 59 | } // testvarnames 60 | -------------------------------------------------------------------------------- /tests/cedet/semantic/utest-fw.el: -------------------------------------------------------------------------------- 1 | ;;; utest-fw.el --- 2 | ;; 3 | ;; Copyright (C) 2011 Eric M. Ludlam 4 | ;; 5 | ;; Author: Eric M. Ludlam 6 | ;; 7 | ;; This program is free software; you can redistribute it and/or 8 | ;; modify it under the terms of the GNU General Public License as 9 | ;; published by the Free Software Foundation, either version 3 of the 10 | ;; License, or (at your option) any later version. 11 | 12 | ;; This program is distributed in the hope that it will be useful, but 13 | ;; WITHOUT ANY WARRANTY; without even the implied warranty of 14 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | ;; General Public License for more details. 16 | 17 | ;; You should have received a copy of the GNU General Public License 18 | ;; along with this program. If not, see http://www.gnu.org/licenses/. 19 | 20 | 21 | ;;; Commentary: 22 | ;; 23 | ;; 24 | 25 | ;;; Code: 26 | 27 | (defun semantic-test-data-cache () 28 | "Test the data cache." 29 | (interactive) 30 | (let ((data '(a b c))) 31 | (save-excursion 32 | (set-buffer (get-buffer-create " *semantic-test-data-cache*")) 33 | (erase-buffer) 34 | (insert "The Moose is Loose") 35 | (goto-char (point-min)) 36 | (semantic-cache-data-to-buffer (current-buffer) (point) (+ (point) 5) 37 | data 'moose 'exit-cache-zone) 38 | (if (equal (semantic-get-cache-data 'moose) data) 39 | (message "Successfully retrieved cached data.") 40 | (error "Failed to retrieve cached data")) 41 | ))) 42 | 43 | (defun semantic-test-throw-on-input () 44 | "Test that throw on input will work." 45 | (interactive) 46 | (semantic-throw-on-input 'done-die) 47 | (message "Exit Code: %s" 48 | (semantic-exit-on-input 'testing 49 | (let ((inhibit-quit nil) 50 | (message-log-max nil)) 51 | (while t 52 | (message "Looping ... press a key to test") 53 | (semantic-throw-on-input 'test-inner-loop)) 54 | 'exit))) 55 | (when (input-pending-p) 56 | (if (fboundp 'read-event) 57 | (read-event) 58 | (read-char))) 59 | ) 60 | 61 | 62 | (provide 'cedet/semantic/utest-fw) 63 | 64 | ;;; utest-fw.el ends here 65 | -------------------------------------------------------------------------------- /tests/cedet/srecode/document.el: -------------------------------------------------------------------------------- 1 | ;;;###autoload 2 | (defun srecode-document-function-comment-extract-test () 3 | "Test old comment extraction. 4 | Dump out the extracted dictionary." 5 | (interactive) 6 | 7 | (srecode-load-tables-for-mode major-mode) 8 | (srecode-load-tables-for-mode major-mode 'document) 9 | 10 | (if (not (srecode-table)) 11 | (error "No template table found for mode %s" major-mode)) 12 | 13 | (let* ((temp (srecode-template-get-table (srecode-table) 14 | "function-comment" 15 | "declaration" 16 | 'document)) 17 | (fcn-in (semantic-current-tag))) 18 | 19 | (if (not temp) 20 | (error "No templates for function comments")) 21 | 22 | ;; Try to figure out the tag we want to use. 23 | (when (or (not fcn-in) 24 | (not (semantic-tag-of-class-p fcn-in 'function))) 25 | (error "No tag of class 'function to insert comment for")) 26 | 27 | (let ((lextok (semantic-documentation-comment-preceeding-tag fcn-in 'lex)) 28 | ) 29 | 30 | (when (not lextok) 31 | (error "No comment to attempt an extraction")) 32 | 33 | (let ((s (semantic-lex-token-start lextok)) 34 | (e (semantic-lex-token-end lextok)) 35 | (extract nil)) 36 | 37 | (pulse-momentary-highlight-region s e) 38 | 39 | ;; Extract text from the existing comment. 40 | (setq extract (srecode-extract temp s e)) 41 | 42 | (with-output-to-temp-buffer "*SRECODE DUMP*" 43 | (princ "EXTRACTED DICTIONARY FOR ") 44 | (princ (semantic-tag-name fcn-in)) 45 | (princ "\n--------------------------------------------\n") 46 | (srecode-dump extract)) 47 | )))) 48 | -------------------------------------------------------------------------------- /tests/cit-extra-cpp.srt: -------------------------------------------------------------------------------- 1 | ;; cit-extra-cpp.srt --- Extra templates for teseting. 2 | 3 | ;; Copyright (C) 2008, 2013 Eric M. Ludlam 4 | 5 | ;; Author: Eric M. Ludlam 6 | 7 | ;; This program is free software; you can redistribute it and/or 8 | ;; modify it under the terms of the GNU General Public License as 9 | ;; published by the Free Software Foundation; either version 2, or (at 10 | ;; your option) any later version. 11 | 12 | ;; This program is distributed in the hope that it will be useful, but 13 | ;; WITHOUT ANY WARRANTY; without even the implied warranty of 14 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | ;; General Public License for more details. 16 | 17 | ;; You should have received a copy of the GNU General Public License 18 | ;; along with this program; see the file COPYING. If not, write to 19 | ;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 20 | ;; Boston, MA 02110-1301, USA. 21 | 22 | set mode "c++-mode" 23 | set escape_start "{{" 24 | set escape_end "}}" 25 | 26 | ;; mimic being in the core template set. 27 | set priority 30 28 | 29 | set application "cit-test" 30 | 31 | context test 32 | 33 | template cit-test-template :blank :indent 34 | "A Template we need to test." 35 | ---- 36 | int moose() { 37 | {{^}} 38 | } 39 | ---- 40 | 41 | template cit-project-template :blank 42 | "A project based template." 43 | ---- 44 | THIS IS NOT IN A PROJECT 45 | ---- 46 | 47 | ;; end 48 | -------------------------------------------------------------------------------- /tests/cit-load.el: -------------------------------------------------------------------------------- 1 | ;;; cit-load.el --- Configuration when running the integration tests. 2 | 3 | ;; Copyright (C) 2008, 2009, 2012, 2013 Eric M. Ludlam 4 | 5 | ;; Author: Eric M. Ludlam 6 | 7 | ;; This program is free software; you can redistribute it and/or 8 | ;; modify it under the terms of the GNU General Public License as 9 | ;; published by the Free Software Foundation; either version 2, or (at 10 | ;; your option) any later version. 11 | 12 | ;; This program is distributed in the hope that it will be useful, but 13 | ;; WITHOUT ANY WARRANTY; without even the implied warranty of 14 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | ;; General Public License for more details. 16 | 17 | ;; You should have received a copy of the GNU General Public License 18 | ;; along with this program; see the file COPYING. If not, write to 19 | ;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 20 | ;; Boston, MA 02110-1301, USA. 21 | 22 | ;;; Commentary: 23 | ;; 24 | ;; Do a setup for running the integration tests. 25 | ;; 26 | ;; Disable various caches as needed to mimic a CEDET install that 27 | ;; is bootstrapping up for the first time. 28 | 29 | ;;; Code: 30 | 31 | (defvar cit-src-dir 32 | (let ((dir (file-name-directory 33 | (or load-file-name (buffer-file-name))))) 34 | (add-to-list 'load-path dir) 35 | dir) 36 | "Src dir to CIT testing suite.") 37 | 38 | (setq inhibit-splash-screen t) 39 | 40 | ;; Disable saving EDE's cache file. 41 | (setq ede-project-placeholder-cache-file nil) 42 | 43 | ;; Disables all caches related to semantic DB so all 44 | ;; tests run as if we have bootstrapped CEDET for the 45 | ;; first time. 46 | (setq-default semanticdb-new-database-class 'semanticdb-project-database) 47 | (message "Disabling existing Semantic Database Caches.") 48 | 49 | ;; Disabling the srecoder map, we won't load a pre-existing one 50 | ;; and will be forced to bootstrap a new one. 51 | (setq srecode-map-save-file nil) 52 | 53 | ;; Turn on Semantic 54 | (semantic-mode 1) 55 | 56 | ;; Disable asking lots of questions while the tests are running. 57 | (setq ede-project-directories t) 58 | 59 | (require 'cedet-integ-test) 60 | 61 | (provide 'cit-load) 62 | ;;; cit-load.el ends here 63 | -------------------------------------------------------------------------------- /tests/cit-proj-cpp.srt: -------------------------------------------------------------------------------- 1 | ;; cit-proj-cpp.srt --- Test for the project option 2 | 3 | ;; Copyright (C) 2013 Eric M. Ludlam 4 | 5 | ;; Author: Eric M. Ludlam 6 | 7 | ;; This program is free software; you can redistribute it and/or 8 | ;; modify it under the terms of the GNU General Public License as 9 | ;; published by the Free Software Foundation; either version 2, or (at 10 | ;; your option) any later version. 11 | 12 | ;; This program is distributed in the hope that it will be useful, but 13 | ;; WITHOUT ANY WARRANTY; without even the implied warranty of 14 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | ;; General Public License for more details. 16 | 17 | ;; You should have received a copy of the GNU General Public License 18 | ;; along with this program; see the file COPYING. If not, write to 19 | ;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 20 | ;; Boston, MA 02110-1301, USA. 21 | 22 | set mode "c++-mode" 23 | set escape_start "{{" 24 | set escape_end "}}" 25 | 26 | set application "cit-test" 27 | 28 | set project "/tmp" 29 | 30 | context test 31 | 32 | 33 | template cit-project-template :blank 34 | "A project based template." 35 | ---- 36 | THIS FILE IS IN /tmp 37 | ---- 38 | 39 | ;; end 40 | -------------------------------------------------------------------------------- /tests/cit-test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | EMACS=${EMACS:-emacs} 4 | 5 | STYLE=$1 6 | if [ -z $1 ]; then 7 | STYLE=Make 8 | fi 9 | 10 | # Further Emacs options (like --batch) 11 | OPTIONS=$2 12 | 13 | cd .. 14 | $EMACS $OPTIONS -q -l cedet-devel-load.el -l tests/cit-load.el -f toggle-debug-on-error -f toggle-debug-on-quit --eval '(setq ede-project-directories t)' -f cedet-integ-test-${STYLE} 15 | EXITCODE=$? 16 | 17 | if [ $EXITCODE -eq 0 ]; then 18 | # Reverse the meaning of a 0 exit status, as the user had to quit Emacs. 19 | exit 1 20 | elif [ $EXITCODE -eq 1 ]; then 21 | # On success, the program kills emacs with 1 (to be different.) 22 | exit 0 23 | else 24 | # Otherwise, Emacs might have an error running in batch mode, and we return it. 25 | exit $EXITCODE 26 | fi 27 | -------------------------------------------------------------------------------- /tests/cit-uml.cgr: -------------------------------------------------------------------------------- 1 | ;; Object /home/zappo/cedet/tests/cit-uml 2 | ;; EIEIO PERSISTENT OBJECT 3 | (cogre-base-graph "/home/zappo/cedet/tests/cit-uml" 4 | :file "/home/zappo/cedet/tests/cit-uml.cgr" 5 | :name "/home/zappo/cedet/tests/cit-uml" 6 | :elements (list 7 | (cogre-class "CIT_Baseclass" 8 | :position [27 0] 9 | ) 10 | (cogre-class "CIT_Noodle" 11 | :position [9 10] 12 | ) 13 | (cogre-class "CIT_Bacon" 14 | :position [29 10] 15 | ) 16 | (cogre-class "CIT_Bread" 17 | :position [47 10] 18 | ) 19 | (cogre-class "CIT_Toast" 20 | :position [47 20] 21 | ) 22 | (cogre-class "CIT_Elbow" 23 | :position [2 20] 24 | ) 25 | (cogre-class "CIT_Spiral" 26 | :position [18 20] 27 | ) 28 | (cogre-inherit "Name" 29 | :start "CIT_Spiral" 30 | :end "CIT_Noodle" 31 | ) 32 | (cogre-inherit "Name1" 33 | :start "CIT_Elbow" 34 | :end "CIT_Noodle" 35 | ) 36 | (cogre-inherit "Name2" 37 | :start "CIT_Bacon" 38 | :end "CIT_Baseclass" 39 | ) 40 | (cogre-inherit "Name3" 41 | :start "CIT_Noodle" 42 | :end "CIT_Baseclass" 43 | ) 44 | (cogre-inherit "Name4" 45 | :start "CIT_Bread" 46 | :end "CIT_Baseclass" 47 | ) 48 | (cogre-inherit "Name5" 49 | :start "CIT_Toast" 50 | :end "CIT_Bread" 51 | ) 52 | ) 53 | ) 54 | -------------------------------------------------------------------------------- /tests/integ_src/cpproot/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Main program for testing ede/cpp-root project. 3 | */ 4 | 5 | #include 6 | #include "sppmacros.h" 7 | #include "projincmacros.h" 8 | #include "test.h" 9 | 10 | int main(int argc, char *argv[]) 11 | { 12 | 13 | return 0; 14 | } 15 | 16 | #ifdef FEATURE1 17 | int feature1() 18 | { 19 | return 1; 20 | } 21 | #endif 22 | 23 | #ifdef FEATURE2 24 | int feature2() 25 | { 26 | return 2; 27 | } 28 | #endif 29 | 30 | #ifdef FEATURE3 31 | int feature3() 32 | { 33 | return 3; 34 | } 35 | #endif 36 | 37 | #ifdef PROJMACRO_A 38 | char projmacro_a() 39 | { 40 | return 'a'; 41 | } 42 | #endif 43 | 44 | int generic_feature() 45 | { 46 | return 0; 47 | } 48 | 49 | 50 | -------------------------------------------------------------------------------- /tests/integ_src/cpproot/projinc/projincmacros.h: -------------------------------------------------------------------------------- 1 | /** projincmacros.h --- Macros from a project include directory 2 | * 3 | * Copyright (C) 2013 Eric M. Ludlam 4 | * 5 | * Author: Eric M. Ludlam 6 | * 7 | * This program is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see http://www.gnu.org/licenses/. 19 | */ 20 | 21 | 22 | #ifndef PROJINCMACROS_H 23 | #define PROJINCMACROS_H 1 24 | 25 | #define PROJMACRO_A 1 26 | 27 | #endif // PROJINCMACROS_H 28 | -------------------------------------------------------------------------------- /tests/integ_src/cpproot/sppmacros.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This source file contains macros to be used by :spp-files slot in the 3 | * ede/cpp-root project type. 4 | */ 5 | 6 | #define FEATURE1 1 7 | #define FEATURE2 2 8 | 9 | /* #define FEATURE3 3 */ 10 | -------------------------------------------------------------------------------- /tests/integ_src/cpproot/test.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file contains a few misc prototypes for declarations in other parts 3 | * of the cpp-root project type. 4 | */ 5 | 6 | #ifdef FEATURE1 7 | int feature1(); 8 | #endif 9 | 10 | #ifdef FEATURE2 11 | int feature2(); 12 | #endif 13 | 14 | #ifdef FEATURE3 15 | int feature3(); 16 | #endif 17 | 18 | int generic_feature(); 19 | 20 | -------------------------------------------------------------------------------- /tests/integ_src/fauxsyslib/README: -------------------------------------------------------------------------------- 1 | This directory is meant to have no project associated with it. 2 | 3 | Instead, it is a place to put fake "system libraries" for other tests. 4 | That way, when tests need to add something to a "system" level 5 | library, such as C++ system inculdes, or Java system Jar files, they 6 | can go here, and be easily found by other test files. -------------------------------------------------------------------------------- /tests/integ_src/fauxsyslib/TestSys.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexott/cedet/f7403518b88a60dcd5aea4d2d0deafcce4856b43/tests/integ_src/fauxsyslib/TestSys.jar -------------------------------------------------------------------------------- /tests/integ_src/fauxsyslib/cpprootsys.h: -------------------------------------------------------------------------------- 1 | /** cpprootsys.h --- Pretend sys header for cpproot test. 2 | * 3 | * Copyright (C) 2013 Eric M. Ludlam 4 | * 5 | * Author: Eric M. Ludlam 6 | * 7 | * This program is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see http://www.gnu.org/licenses/. 19 | */ 20 | 21 | 22 | #ifndef CPPROOTSYS_H 23 | #define CPPROOTSYS_H 1 24 | 25 | #define CPPSYSFCN 1 26 | 27 | #endif // CPPROOTSYS_H 28 | -------------------------------------------------------------------------------- /tests/integ_src/fauxsyslib/java/syslib/Makefile: -------------------------------------------------------------------------------- 1 | # Makefile --- Build a jar file for testing. 2 | # 3 | # Copyright (C) Eric M. Ludlam 4 | # 5 | # Author: Eric M. Ludlam 6 | # 7 | # This program is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | 12 | # This program is distributed in the hope that it will be useful, but 13 | # WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # General Public License for more details. 16 | 17 | # You should have received a copy of the GNU General Public License 18 | # along with this program. If not, see http://www.gnu.org/licenses/. 19 | 20 | CLASSFILES:=TestSysJar.class 21 | 22 | all: clean ../../TestSys.jar 23 | 24 | clean: 25 | rm -f $(CLASSFILES) 26 | 27 | %.class: %.java 28 | javac $< 29 | 30 | ../../TestSys.jar: $(CLASSFILES) 31 | cd ..; jar cvf ../TestSys.jar $(addprefix syslib/, $<) 32 | 33 | 34 | # end 35 | -------------------------------------------------------------------------------- /tests/integ_src/fauxsyslib/java/syslib/TestSysJar.java: -------------------------------------------------------------------------------- 1 | /** TestSysJar.java --- Test System Jar file 2 | * 3 | * Copyright (C) 2013 Eric M. Ludlam 4 | * 5 | * Author: Eric M. Ludlam 6 | * 7 | * This program is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see http://www.gnu.org/licenses/. 19 | */ 20 | 21 | package syslib; 22 | 23 | /** 24 | * 25 | * 26 | * Created: 04/01/13 27 | * 28 | * @author Eric M. Ludlam 29 | * @version 30 | * @since 31 | */ 32 | public class TestSysJar { 33 | 34 | public void testBool (boolean b) { 35 | 36 | } 37 | 38 | public void testInt (int i) { 39 | 40 | } 41 | 42 | } // TestInJar 43 | -------------------------------------------------------------------------------- /tests/integ_src/globalref/README: -------------------------------------------------------------------------------- 1 | This attempts to demonstrate on a small scale the problem described at: 2 | http://sourceforge.net/mailarchive/forum.php?thread_name=515650CE.3030908%40siege-engine.com&forum_name=cedet-semantic 3 | 4 | Problem: 5 | * When using GNU Global backend with semantic-symref, more files 6 | are loaded than should be needed to find the prototypes. 7 | * The reason is that the symbol is in a namespace, and that 8 | namespace is looked up to make sure the hits are in the correct 9 | namespaces. 10 | 11 | The Instructions: 12 | * Run the cit-globalref test. This will: 13 | ** Copy these files into /tmp 14 | ** Run 'global' on the directory to create a database. 15 | ** Run two tests. 16 | 17 | * One of the tests verifies that the symbol in the namespace only 18 | loads the files once. (They used to be loaded multiple times.) 19 | * A second teste makes sure that only the one file hit is loaded, 20 | but that has no namespaces involved. 21 | 22 | TODO: 23 | * It should be possible to restrict the namespace loading only to 24 | those files that have hits. That is a task for a different day. 25 | 26 | -------------------------------------------------------------------------------- /tests/integ_src/globalref/inc/Manager.hh: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "Util.h" 4 | 5 | // 6 | // This files shows use of the namespaces in Util.hh but with diff symbols. 7 | // 8 | namespace play { namespace prod { 9 | class Manager { 10 | public: 11 | explicit Manager(const int); 12 | }; 13 | }} 14 | 15 | -------------------------------------------------------------------------------- /tests/integ_src/globalref/inc/Util.hh: -------------------------------------------------------------------------------- 1 | #pragma once 2 | // 3 | // This file contains the symbols that are searched from in the globalref test. 4 | // 5 | 6 | namespace play { namespace prod { 7 | 8 | // This sym is in some namespaces. 9 | int myUtilFunc(const int param); 10 | 11 | }} 12 | 13 | // This sym is outside of all namespaces. 14 | int myUtilFuncNoNS(const int param); 15 | 16 | //End 17 | 18 | 19 | -------------------------------------------------------------------------------- /tests/integ_src/globalref/src/Manager.cc: -------------------------------------------------------------------------------- 1 | #include "Util.hh" 2 | #include "Manager.hh" 3 | 4 | // 5 | // This contains source using namespaces that are used in the test, 6 | // but with an impl that we aren't searching for. 7 | // 8 | namespace play { namespace prod { 9 | 10 | Manager(const int param) { 11 | printf("Inside Manager ctor. myUtilFunc returned: %d\n", play::prod::myUtilFunc(param)); 12 | } 13 | 14 | }} 15 | 16 | 17 | -------------------------------------------------------------------------------- /tests/integ_src/globalref/src/Util.cc: -------------------------------------------------------------------------------- 1 | #include 2 | #include "Util.hh" 3 | 4 | // 5 | // This file contains the impl for the symbols in inc/Util.hh 6 | // and this is the destination of some symref jumps. 7 | // 8 | namespace play { namespace prod { 9 | 10 | // The symbol in namespaces. 11 | int myUtilFunc(const int param) { 12 | printf("Inside myUtilFunc(%d).\n", param); 13 | return param; 14 | } 15 | 16 | }} 17 | 18 | // The symbol outside of namespaces. 19 | int myUtilFuncNoNS(const int param) { 20 | printf("Inside myUtilFuncNoNS(%d).\n", param); 21 | return param; 22 | } 23 | -------------------------------------------------------------------------------- /tests/integ_src/globalref/test/ManagerTest.cc: -------------------------------------------------------------------------------- 1 | #include "Util.hh" 2 | #include "Manager.hh" 3 | #include "ManagerTest.hh" 4 | 5 | // 6 | // This fcn uses the namespaces used in the test, but should not be 7 | // a search destination. 8 | // 9 | namespace play { namespace test { 10 | 11 | ManagerTest() { 12 | printf("Inside ManagerTest ctor.\n"); 13 | play::prod::Manager manager(666); 14 | } 15 | 16 | }} 17 | 18 | 19 | -------------------------------------------------------------------------------- /tests/integ_src/globalref/test/ManagerTest.hh: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "Util.hh" 4 | 5 | // 6 | // This fcn uses the namespaces used in the test, but should not be 7 | // a search destination. 8 | // 9 | namespace play { namespace test { 10 | class ManagerTest { 11 | public: 12 | ManagerTest(); 13 | }; 14 | }} 15 | 16 | -------------------------------------------------------------------------------- /tests/integ_src/javaroot/TestLib.java: -------------------------------------------------------------------------------- 1 | /** TestLib.java --- A misc library to draw symbols from. 2 | * 3 | * Copyright (C) 2013 Eric M. Ludlam 4 | * 5 | * Author: Eric M. Ludlam 6 | * 7 | * This program is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see http://www.gnu.org/licenses/. 19 | */ 20 | 21 | public class TestLib { 22 | 23 | public int TestFcn() { }; 24 | 25 | } // TestLib 26 | -------------------------------------------------------------------------------- /tests/integ_src/javaroot/TestMain.java: -------------------------------------------------------------------------------- 1 | /** TestMain.java --- Base for testing java projects. 2 | * 3 | * Copyright (C) 2013 Eric M. Ludlam 4 | * 5 | * Author: Eric M. Ludlam 6 | * 7 | * This program is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see http://www.gnu.org/licenses/. 19 | */ 20 | 21 | import TestLib; 22 | 23 | import test.TestTest; 24 | 25 | import testproj.TestInJar; 26 | 27 | import syslib.TestSysJar; 28 | 29 | import java.io.InputStream; 30 | 31 | public class TestMain { 32 | 33 | public static void main(String[] args) { 34 | System.out.println("Hello, World"); 35 | } 36 | 37 | } // TestMain 38 | -------------------------------------------------------------------------------- /tests/integ_src/javaroot/projjar/TestProj.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexott/cedet/f7403518b88a60dcd5aea4d2d0deafcce4856b43/tests/integ_src/javaroot/projjar/TestProj.jar -------------------------------------------------------------------------------- /tests/integ_src/javaroot/src/testproj/Makefile: -------------------------------------------------------------------------------- 1 | # Makefile --- Build a jar file for testing. 2 | # 3 | # Copyright (C) Eric M. Ludlam 4 | # 5 | # Author: Eric M. Ludlam 6 | # 7 | # This program is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | 12 | # This program is distributed in the hope that it will be useful, but 13 | # WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # General Public License for more details. 16 | 17 | # You should have received a copy of the GNU General Public License 18 | # along with this program. If not, see http://www.gnu.org/licenses/. 19 | 20 | CLASSFILES:=TestInJar.class 21 | 22 | all: clean ../../projjar/TestProj.jar 23 | 24 | clean: 25 | rm -f $(CLASSFILES) 26 | 27 | %.class: %.java 28 | javac $< 29 | 30 | ../../projjar/TestProj.jar: $(CLASSFILES) 31 | cd ..; jar cvf ../projjar/TestProj.jar $(addprefix testproj/, $<) 32 | 33 | 34 | # end 35 | -------------------------------------------------------------------------------- /tests/integ_src/javaroot/src/testproj/TestInJar.java: -------------------------------------------------------------------------------- 1 | /** TestInJar.java --- Test Src for a Jar file 2 | * 3 | * Copyright (C) 2013 Eric M. Ludlam 4 | * 5 | * Author: Eric M. Ludlam 6 | * 7 | * This program is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see http://www.gnu.org/licenses/. 19 | */ 20 | 21 | package testproj; 22 | 23 | /** 24 | * 25 | * 26 | * Created: 04/01/13 27 | * 28 | * @author Eric M. Ludlam 29 | * @version 30 | * @since 31 | */ 32 | public class TestInJar { 33 | 34 | public void testBool (boolean b) { 35 | 36 | } 37 | 38 | public void testInt (int i) { 39 | 40 | } 41 | 42 | } // TestInJar 43 | -------------------------------------------------------------------------------- /tests/integ_src/javaroot/test/TestTest.java: -------------------------------------------------------------------------------- 1 | /** TesTest.java --- A misc library to draw symbols from. 2 | * 3 | * Copyright (C) 2013 Eric M. Ludlam 4 | * 5 | * Author: Eric M. Ludlam 6 | * 7 | * This program is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see http://www.gnu.org/licenses/. 19 | */ 20 | 21 | public class TestTest { 22 | 23 | public int TestTestFcn() { }; 24 | 25 | } // TestLib 26 | 27 | --------------------------------------------------------------------------------