summaryrefslogtreecommitdiff
path: root/devel/semantic
diff options
context:
space:
mode:
authorcjones <cjones@pkgsrc.org>2001-06-08 21:03:05 +0000
committercjones <cjones@pkgsrc.org>2001-06-08 21:03:05 +0000
commit8a8b295ff4d8d493cb10f09359c66cf5dab101e3 (patch)
tree2b21ef34724dc3a0900af369ea8cde61db8603ab /devel/semantic
parent3f93db328078288bb06b73e2c097b005312fe384 (diff)
downloadpkgsrc-8a8b295ff4d8d493cb10f09359c66cf5dab101e3.tar.gz
Import the Semantic Bovinator for Emacs. Lexer, parser-generator, and
parser. Required for JDE.
Diffstat (limited to 'devel/semantic')
-rw-r--r--devel/semantic/Makefile54
-rw-r--r--devel/semantic/distinfo4
-rw-r--r--devel/semantic/pkg/DESCR32
-rw-r--r--devel/semantic/pkg/PLIST31
4 files changed, 121 insertions, 0 deletions
diff --git a/devel/semantic/Makefile b/devel/semantic/Makefile
new file mode 100644
index 00000000000..f1e557ba306
--- /dev/null
+++ b/devel/semantic/Makefile
@@ -0,0 +1,54 @@
+# $NetBSD: Makefile,v 1.1.1.1 2001/06/08 21:03:05 cjones Exp $
+#
+
+DISTNAME= semantic-1.3.3
+CATEGORIES= devel
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=cedet/}
+
+MAINTAINER= cjones@netbsd.org
+HOMEPAGE= http://cedet.sourceforge.net/semantic.shtml
+COMMENT= Lexer, parser-generator, and parser written for Emacs
+
+DEPENDS+= speedbar-0.13a:../../editors/speedbar
+DEPENDS+= eieio-0.16:../../lang/eieio
+
+.include "../../mk/bsd.prefs.mk"
+
+.if defined(USE_XEMACS)
+DEPENDS+= xemacs-*:../../editors/xemacs
+EMACS= xemacs
+LISPDIR= lib/xemacs/xemacs-packages/lisp/semantic
+.else
+DEPENDS+= emacs-*:../../editors/emacs
+EMACS= emacs
+LISPDIR= share/emacs/site-lisp/semantic
+.endif
+
+BUILD_ENV+= EMACS=${EMACS}
+PLIST_SUBST+= LISPDIR=${LISPDIR}
+
+NO_CONFIGURE= # set
+USE_GMAKE= # set
+
+# XXX The author claims that the info file is broken for current
+# makeinfo. Should work with either newer makeinfo or newer semantic.
+#INFO_FILES= semantic.info
+
+SRCS= semantic-bnf.el semantic.el semantic-util.el document.el \
+ document-vars.el sformat.el semantic-make.el semantic-c.el \
+ semantic-imenu.el semantic-el.el semantic-sb.el working.el \
+ semantic-mode.el
+BNFFILES= c.bnf make.bnf
+
+# XXX broken info
+post-extract:
+ cd ${WRKSRC} && touch semantic.info
+
+do-install:
+ ${INSTALL_DATA_DIR} ${PREFIX}/${LISPDIR}
+ cd ${WRKSRC} && ${INSTALL_DATA} ${SRCS} ${SRCS:.el=.elc} \
+ ${PREFIX}/${LISPDIR}
+ cd ${WRKSRC} && ${INSTALL_DATA} ${BNFFILES} ${PREFIX}/${LISPDIR}
+# XXX cd ${WRKSRC} && ${INSTALL_DATA} ${INFO_FILES} ${PREFIX}/info
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/devel/semantic/distinfo b/devel/semantic/distinfo
new file mode 100644
index 00000000000..c3d5c459310
--- /dev/null
+++ b/devel/semantic/distinfo
@@ -0,0 +1,4 @@
+$NetBSD: distinfo,v 1.1.1.1 2001/06/08 21:03:05 cjones Exp $
+
+SHA1 (semantic-1.3.3.tar.gz) = 7238375f644453cab154d80bbb5ad80a96adec3b
+Size (semantic-1.3.3.tar.gz) = 77828 bytes
diff --git a/devel/semantic/pkg/DESCR b/devel/semantic/pkg/DESCR
new file mode 100644
index 00000000000..30a69003f62
--- /dev/null
+++ b/devel/semantic/pkg/DESCR
@@ -0,0 +1,32 @@
+The Semantic Bovinator is a lexer, parser-generator, and parser. It is
+written in Emacs Lisp and is customized to the way Emacs thinks about
+language files, and is optimized to use Emacs' parsing capabilities.
+
+The Semantic Bovinator's goal is to provide an intermediate API for
+authors of language agnostic tools who want to deal with languages in
+a generic way. It also provides a simple way for Mode Authors who are
+experts in their language to provide a parser for those tool
+authors, without knowing anything about those tools.
+
+The Semantic Bovinator is made up of these important pieces:
+
+ 1. lexer: Converts a language into a token stream
+
+ 2. parser: Converts a token stream into a stream of nonterminals
+ defined by the language.
+
+ 3. parser-generator: Converts a language definition into a table
+ usable by the parser. (Written using the Semantic Bovinator)
+
+ 4. language definitions: Parsers already existing for the parser
+ generator language (Bovine Normal Form), Emacs Lisp, and C.
+
+ 5. navigator: Senator is a navigator that permits simple
+ navigation through the parsed language.
+
+ 6. speedbar browser: Code for browsing a generated nonterminal
+ list with Speedbar.
+
+ 7. Documentation generator: Identifies inline documentation in
+ source code, and can convert it to texinfo. It can also create
+ inline documenation.
diff --git a/devel/semantic/pkg/PLIST b/devel/semantic/pkg/PLIST
new file mode 100644
index 00000000000..b8dd40bea1b
--- /dev/null
+++ b/devel/semantic/pkg/PLIST
@@ -0,0 +1,31 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2001/06/08 21:03:05 cjones Exp $
+${LISPDIR}/semantic-bnf.el
+${LISPDIR}/semantic-bnf.elc
+${LISPDIR}/semantic.el
+${LISPDIR}/semantic.elc
+${LISPDIR}/semantic-util.el
+${LISPDIR}/semantic-util.elc
+${LISPDIR}/document.el
+${LISPDIR}/document.elc
+${LISPDIR}/document-vars.el
+${LISPDIR}/document-vars.elc
+${LISPDIR}/sformat.el
+${LISPDIR}/sformat.elc
+${LISPDIR}/semantic-make.el
+${LISPDIR}/semantic-make.elc
+${LISPDIR}/semantic-c.el
+${LISPDIR}/semantic-c.elc
+${LISPDIR}/semantic-imenu.el
+${LISPDIR}/semantic-imenu.elc
+${LISPDIR}/semantic-el.el
+${LISPDIR}/semantic-el.elc
+${LISPDIR}/semantic-sb.el
+${LISPDIR}/semantic-sb.elc
+${LISPDIR}/working.el
+${LISPDIR}/working.elc
+${LISPDIR}/semantic-mode.el
+${LISPDIR}/semantic-mode.elc
+${LISPDIR}/c.bnf
+${LISPDIR}/make.bnf
+@comment XXX info/semantic.info
+@unexec rmdir %D/${LISPDIR} 2>/dev/null || true