Skip to content

Commit

Permalink
Initial commit.
Browse files Browse the repository at this point in the history
  • Loading branch information
yoshizow committed Feb 15, 2014
0 parents commit 23de006
Show file tree
Hide file tree
Showing 18 changed files with 1,414 additions and 0 deletions.
20 changes: 20 additions & 0 deletions .gitignore
@@ -0,0 +1,20 @@
BUILD_TOOLS
Makefile
Makefile.in
libparser/Makefile
libparser/Makefile.in
aclocal.m4
autom4te.cache/
config-h.in
config.guess
config.h
config.log
config.status
config.sub
configure
depcomp
install-sh
libtool
ltmain.sh
missing
stamp-h1
Empty file added AUTHORS
Empty file.
674 changes: 674 additions & 0 deletions COPYING

Large diffs are not rendered by default.

Empty file added ChangeLog
Empty file.
Empty file added INSTALL
Empty file.
19 changes: 19 additions & 0 deletions Makefile.am
@@ -0,0 +1,19 @@
## Process this file with automake to create Makefile.in
#
# Copyright (c) 2000, 2001, 2002 Tama Communications Corporation
# Copyright (c) 2014 Yoshitaro Makise
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
SUBDIRS = libparser plugin-factory

gtagsdir = ${datadir}/gtags
gtags_DATA = pygments_parser.py

EXTRA_DIST = ${gtags_DATA} reconf.sh
Empty file added NEWS
Empty file.
1 change: 1 addition & 0 deletions README
@@ -0,0 +1 @@
See README.md
Empty file added README.md
Empty file.
21 changes: 21 additions & 0 deletions acinclude.m4
@@ -0,0 +1,21 @@
# Local additions to Autoconf macros.
#
# Copyright (c) 2000, 2001, 2011 Tama Communications Corporation
# Copyright (c) 2014 Yoshitaro Makise
#
# This file is part of Pygments plug-in parser for GNU GLOBAL.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
m4_include([m4/check_djgpp.m4])
80 changes: 80 additions & 0 deletions configure.ac
@@ -0,0 +1,80 @@
dnl
dnl Configuration script for GLOBAL.
dnl Process this file with autoconf to produce a configure script.
dnl
dnl Copyright (c) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2008, 2010,
dnl 2011, 2012, 2013
dnl Tama Communications Corporation
dnl Copyright (c) 2014 Yoshitaro Makise
dnl
dnl This file is part of Pygments plug-in parser for GNU GLOBAL.
dnl
dnl This program is free software: you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation, either version 3 of the License, or
dnl (at your option) any later version.
dnl
dnl This program is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
dnl GNU General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
dnl
AC_INIT([Pygments plug-in parser for GNU GLOBAL],[0.0.1])
AC_CONFIG_SRCDIR(libparser/parser.h)
AC_CONFIG_HEADERS([config.h:config-h.in])
AC_PREREQ(2.59)
AM_INIT_AUTOMAKE([1.9.3 gnu])

dnl Checks for programs.
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_MAKE_SET

dnl
dnl Currently, the absolute path name of perl is required only for CGI script.
dnl So, if you don't use the -f(--form) option of htags(1), it is not required.
dnl
AC_PATH_PROG(PERL, perl, no)
if test ${ac_cv_path_PERL} = no; then
PERL=SPECIFY_ABSOLUTE_PATH_OF_PERL
fi
AC_CHECK_TOOL(AR, ar)

AC_GNU_SOURCE

LT_PREREQ([2.2.6b])
dnl
dnl Because autoreconf up to version 2.59 doesn't know LT_INIT,
dnl we use the old name AC_PROG_LIBTOOL.
dnl
AC_PROG_LIBTOOL

# Checks for libraries.

# Checks for header files.
AC_CHECK_HEADERS([stdlib.h string.h strings.h unistd.h])

# Checks for typedefs, structures, and compiler characteristics.
AC_TYPE_PID_T
AC_TYPE_SIZE_T

# Checks for library functions.
AC_FUNC_FORK
AC_FUNC_MALLOC
AC_FUNC_REALLOC
AC_CHECK_FUNCS([dup2 strstr])

AC_DJGPP

AM_CPPFLAGS='-I$(top_srcdir)/libparser'

AC_SUBST(AM_CPPFLAGS)

AC_CONFIG_FILES([Makefile
libparser/Makefile
plugin-factory/Makefile
])
AC_OUTPUT
17 changes: 17 additions & 0 deletions libparser/Makefile.am
@@ -0,0 +1,17 @@
## Process this file with automake to create Makefile.in
#
# Copyright (c) 2010 Tama Communications Corporation
# Copyright (c) 2014 Yoshitaro Makise
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#

noinst_HEADERS = parser.h

AM_CPPFLAGS = @AM_CPPFLAGS@
70 changes: 70 additions & 0 deletions libparser/parser.h
@@ -0,0 +1,70 @@
/*
* Copyright (c) 2009, 2010
* Tama Communications Corporation
*
* This file is part of GNU GLOBAL.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef _PARSER_H_
#define _PARSER_H_

/*
* Built-in parser base on gctags
*/

void parser_init(const char *, const char *);
void parser_exit(void);

/** @name tag type */
/** @{ */
/** definition */
#define PARSER_DEF 1
/** reference or other symbol */
#define PARSER_REF_SYM 2
/** @} */

/** @name flags */
/** @{ */
/** debug mode */
#define PARSER_DEBUG 1
/** verbose mode */
#define PARSER_VERBOSE 2
/** print warning message */
#define PARSER_WARNING 4
/** force level 1 block end */
#define PARSER_END_BLOCK 8
/** force level 1 block start */
#define PARSER_BEGIN_BLOCK 16
/** @} */

typedef void (*PARSER_CALLBACK)(int, const char *, int, const char *, const char *, void *);

void parse_file(const char *, int, PARSER_CALLBACK, void *);

struct parser_param {
int size; /**< size of this structure */
int flags;
const char *file;
PARSER_CALLBACK put;
void *arg;
int (*isnotfunction)(const char *);
const char *langmap;
void (*die)(const char *, ...);
void (*warning)(const char *, ...);
void (*message)(const char *, ...);
};

#endif
9 changes: 9 additions & 0 deletions m4/check_djgpp.m4
@@ -0,0 +1,9 @@
AC_DEFUN([AC_DJGPP],
[AC_CACHE_CHECK([whether we are using the GNU DJGPP compiler], ac_cv_djgpp,
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[#ifdef __DJGPP__
int a;
#else
XXXXXX
#endif]])],[ac_cv_djgpp=yes],[ac_cv_djgpp=no])])
AM_CONDITIONAL(DJGPP, test $ac_cv_djgpp = yes)
])
20 changes: 20 additions & 0 deletions plugin-factory/Makefile.am
@@ -0,0 +1,20 @@
## Process this file with automake to create Makefile.in
#
# Copyright (c) 2010 Tama Communications Corporation
# Copyright (c) 2014 Yoshitaro Makise
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
plugindir = ${libdir}/gtags
plugin_LTLIBRARIES = pygments-parser.la

pygments_parser_la_SOURCES = pygments-parser.c
pygments_parser_la_LDFLAGS = -module -avoid-version

AM_CPPFLAGS = @AM_CPPFLAGS@

0 comments on commit 23de006

Please sign in to comment.