Skip to content

Commit

Permalink
Four new parsers have been added.
Browse files Browse the repository at this point in the history
ant.c

Specifically looks for a build.xml file.
Produces 2 types of tags:
    p,project
    t,target

It is a regex based parser using the following expressions:
    "^[ \t]*<[ \t]*project.*name=\"([^\"]+)\".*", "\\1", "p,project,projects"
    "^[ \t]*<[ \t]*target.*name=\"([^\"]+)\".*", "\\1", "t,target,targets"

Will find tags for the following lines:
    <project name="MyProject" default="deploy" basedir=".">
    <target name="init">

Test file:
    build.xml



dosbatch.c

Looks for files with .cmd or .bat extensions.
Produces 2 types of tags:
    l,label
    v,variable

It is a regex based parser using the following expressions:
    "^:([A-Za-z_0-9]+)", "\\1", "l,label,labels"
    "set[ \t]+([A-Za-z_0-9]+)[ \t]*=", "\\1", "v,variable,variables"

Will find tags for the following lines:
    :ERROR
    @if NOT DEFINED SCRIPT_DIR FOR /f %%i IN ('cd') DO @set SCRIPT_DIR=%%i

Test file:
    dosbatch_test.cmd



matlab.c

Looks for files with .m extension.
Produces 1 types of tag:
    f,function

It is a regex based parser using the following expressions:
    "^function[ \t]*\\[.*\\][ \t]*=[ \t]*([a-zA-Z0-9_]+)", "\\1", "f,function"
    "^function[ \t]*[a-zA-Z0-9_]+[ \t]*=[ \t]*([a-zA-Z0-9_]+)", "\\1", "f,function"
    "^function[ \t]*([a-zA-Z0-9_]+)[^=]*$", "\\1", "f,function"

Will find tags for the following lines:
    :ERROR
    @if NOT DEFINED SCRIPT_DIR FOR /f %%i IN ('cd') DO @set SCRIPT_DIR=%%i

Test files:
    matlab_backtracking.m
    matlab_test.m



tex.c

Looks for files with .tex extension.
Produces 1 types of tag:
    c,chapter
    s,section
    u,subsection
    b,subsubsection
    p,package

It is a token parser which can handle tags of this format:
    \keyword{any number of words}
    \keyword[short desc]{any number of words}
    \keyword*[short desc]{any number of words}
    \keyword[short desc]*{any number of words}
    
Will find tags for the following lines:
    \usepackage{amsmath}
    \chapter{chapter text}
    \section{section1 text}
    \subsection{subsection2}
    \subsubsection{subsubsection3 with extra text}

Test files:
    intro.tex
    intro_orig.tex
  • Loading branch information
David Fishburn committed Dec 14, 2008
1 parent 25970d5 commit b3c65b7
Show file tree
Hide file tree
Showing 13 changed files with 1,409 additions and 0 deletions.
4 changes: 4 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,22 @@ To send email to any one of them, send it to <username@users.sourceforge.net>.
Ctags SourgeForge Full
Parser username Name
---------- ----------- -----
Ant dfishburn David Fishburn
AWK jkoshy Joseph Koshy
Basic elias Elias Pschernig
C# elliotth Elliott Hughes
DosBatch dfishburn David Fishburn
Flex dfishburn David Fishburn
Java elliotth Elliott Hughes
JavaScript dfishburn David Fishburn
MatLab dfishburn David Fishburn
Perl perlguy0 Dmitri Tikhonov
PHP jafl John Lindal
Python elias Elias Pschernig
Ruby elliotth Elliott Hughes
SML jkoshy Joseph Koshy
SQL dfishburn David Fishburn
Tex dfishburn David Fishburn
Vim dfishburn David Fishburn
All else dhiebert Darren Hiebert

Expand Down
102 changes: 102 additions & 0 deletions Test/build.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
<?xml version="1.0" encoding="UTF-8" ?>

<project name="MyProject" default="deploy" basedir=".">

<target name="init">
<property environment="envvars" />
<property name="rootDir" value="." />
<property name="srcDir" value="${rootDir}/src" />

<path id="base.classpath">
<pathelement location="${buildDir}" />
</path>
</target>

<target name="clean" depends="init">
<delete dir="${buildDir}"
verbose="false"
quiet="false"
/>
</target>

<target name="compile_something" depends="init">
<mkdir dir="${buildDir}" />
<mkdir dir="${buildDir}/images" />
<javac srcdir="${javaDir}"
destdir="${buildDir}"
debug="on"
optimize="off"
verbose="no"
listfiles="yes"
deprecation="no"
classpathref="base.classpath"
/>

<copy toDir="${buildDir}/images">
<fileset dir="${javaImagesDir}" includes="*.*" />
</copy>

</target>

<!--target name="generate_h_from_java" depends="compile_something">
<exec executable="javah" dir="${buildDir}">
</exec>
</target-->

<target name="generate_h_from_java" depends="compile_something">
<javah destdir="${ulgateDir}" classpath="${buildDir}">
</javah>
</target>

<target name="javadoc">
<delete dir="${javaDocDir}"
verbose="false"
quiet="false"
/>
<mkdir dir="${javaDocDir}" />
<javadoc destdir="${javaDocDir}"
classpathref="base.classpath"
link="http://java.sun.com/j2se/1.4.1/docs/api/"
verbose="no"
additionalparam="-breakiterator"
>
<fileset dir="${javaDir}" />
</javadoc>
</target>

<target name="deploy" depends="compile_something, generate_h_from_java">

<delete dir="${deployDir}"
verbose="false"
quiet="false"
/>
<mkdir dir="${deployDir}" />
<mkdir dir="${deployDir}/client" />
<mkdir dir="${deployDir}/server" />

<jar jarfile="${deployDir}/server/something.jar">
<fileset dir="${buildDir}"
includes="images/**"
/>
</jar>

<copy toDir="${deployDir}/client" verbose="Yes" >
<fileset dir="${binDir}" includes="startClient.cmd" />
<fileset dir="${binDir}" includes="killProcess.vbs" />
</copy>

<copy toDir="${deployDir}/server/sql" verbose="Yes" >
<fileset dir="${sqlDir}" includes="*.sql" />
</copy>

<copy toDir="${deployDir}/server/samples">
<fileset dir="${samplesDir}" includes="**/*.*" />
</copy>

<copy toDir="${deployDir}/doc">
<fileset dir="${docDir}" includes="**/*.*" />
</copy>

</target>

</project>
86 changes: 86 additions & 0 deletions Test/dosbatch_test.cmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
@SETLOCAL
@echo off

SET OPTIONS=%1
SET SAMPLE_DATA=%1
if NOT '%SAMPLE_DATA%' EQU '' SET SAMPLE_DATA=1
if '%SAMPLE_DATA%' EQU '' SET SAMPLE_DATA=0
@echo.
@echo.
@echo.Sample data:[%SAMPLE_DATA%]
@echo.
@echo.

@IF NOT DEFINED SCRIPT_DIR FOR /f %%i IN ('cd') DO @SET SCRIPT_DIR=%%i


CALL setenv.cmd
@if NOT "%errorlevel%" EQU "0" goto ERROR
IF DEFINED required_software_missing goto ERROR

set PATH=%SQLANY11%\bin32;%PATH%

@if "%OPTIONS%." EQU "1." set OPTIONS=
@rem Jump to label if specified
@if NOT "%OPTIONS%." EQU "." goto %OPTIONS%

CALL cleanup11.cmd

:UPDATE
@echo.
@echo.
@echo Update objects (triggers, procedures, web services)
@echo.
:SAMPLE_DATA
@echo.
@echo.
@echo Create report
@echo.
cd %SQL_DIR%
@echo on
%DBISQL% -c "dsn=%CONS%;uid=dba;pwd=%CONS_PWD%;autostop=no" read schema_logging.sql;
@echo off
@if NOT "%errorlevel%" EQU "0" goto ERROR
@echo errorlevel [%errorlevel%]

:DONE
@echo.
@echo.
@echo.-------------------------------------------
@echo All Done!
@echo.-------------------------------------------
@echo.
@echo.
goto END

:ERROR
FOR /f %%i IN ('cd') DO @SET CURR_DIR=%%i
@echo.
@echo.
@echo.-------------------------------------------
@echo. ERROR!!
@echo errorlevel = %errorlevel%
@echo gendb11.cmd
@echo.
@echo.Working directory:
@echo CURR_DIR=%CURR_DIR%
@echo.-------------------------------------------
@echo.
goto END

:ERROR_OPTIONS
@echo.
@echo.
@echo.
@echo ********************************************************
@echo * Please provide dev, qa, demo as a commandline option *
@echo ********************************************************
@echo.
@echo.
@echo.
GOTO END


:END
cd %SCRIPT_DIR%
@ENDLOCAL
32 changes: 32 additions & 0 deletions Test/intro.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
% http://sip.clarku.edu/tutorials/TeX/intro.html
\documentclass[12pt]{article}

\usepackage{amsmath} % need for subequations
\chapter{chapter text}
\section{section1 text}
It is desirable to print program code exactly as it is typed in a
monospaced font. Use \verb \begin{verbatim} and
\section{Introduction}
It is desirable to print program code exactly as it is typed in a
monospaced font. Use \verb \begin{verbatim} and
\subsection{subsection2}
It is desirable to print program code exactly as it is typed in a
monospaced font. Use \verb \begin{verbatim} and
\subsubsection{subsubsection3 with extra text}
It is desirable to print program code exactly as it is typed in a
monospaced font. Use \verb \begin{verbatim} and
\section[short text]{section4 text}
It is desirable to print program code exactly as it is typed in a
monospaced font. Use \verb \begin{verbatim} and
\section*[shorter text]{Introduction2}
It is desirable to print program code exactly as it is typed in a
monospaced font. Use \verb \begin{verbatim} and
\subsection[shortest text]*{subsection5}
It is desirable to print program code exactly as it is typed in a
monospaced font. Use \verb \begin{verbatim} and
\subsubsection{subsubsection6 with extra text}
It is desirable to print program code exactly as it is typed in a
monospaced font. Use \verb \begin{verbatim} and
\chapter{chapter2}
\end{document}

Loading

0 comments on commit b3c65b7

Please sign in to comment.