OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [rtems-20020807/] [doc/] [tools/] [src2html1.4a/] [Ctags/] [lisp.c] - Blame information for rev 1026

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1026 ivang
/*
2
 * Copyright (c) 1987 The Regents of the University of California.
3
 * All rights reserved.
4
 *
5
 * Redistribution and use in source and binary forms, with or without
6
 * modification, are permitted provided that the following conditions
7
 * are met:
8
 * 1. Redistributions of source code must retain the above copyright
9
 *    notice, this list of conditions and the following disclaimer.
10
 * 2. Redistributions in binary form must reproduce the above copyright
11
 *    notice, this list of conditions and the following disclaimer in the
12
 *    documentation and/or other materials provided with the distribution.
13
 * 3. All advertising materials mentioning features or use of this software
14
 *    must display the following acknowledgement:
15
 *      This product includes software developed by the University of
16
 *      California, Berkeley and its contributors.
17
 * 4. Neither the name of the University nor the names of its contributors
18
 *    may be used to endorse or promote products derived from this software
19
 *    without specific prior written permission.
20
 *
21
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31
 * SUCH DAMAGE.
32
 */
33
 
34
#ifndef lint
35
static char sccsid[] = "@(#)lisp.c      5.5 (Berkeley) 2/26/91";
36
#endif /* not lint */
37
 
38
#include <stdio.h>
39
#include <string.h>
40
#include "ctags.h"
41
 
42
extern char     *lbp;                   /* pointer shared with fortran */
43
 
44
/*
45
 * lisp tag functions
46
 * just look for (def or (DEF
47
 */
48
l_entries()
49
{
50
        register int    special;
51
        register char   *cp,
52
                        savedc;
53
        char    tok[MAXTOKEN];
54
 
55
        for (;;) {
56
                lineftell = ftell(inf);
57
                if (!fgets(lbuf,sizeof(lbuf),inf))
58
                        return;
59
                ++lineno;
60
                lbp = lbuf;
61
                if (!cicmp("(def"))
62
                        continue;
63
                special = NO;
64
                switch(*lbp | ' ') {
65
                case 'm':
66
                        if (cicmp("method"))
67
                                special = YES;
68
                        break;
69
                case 'w':
70
                        if (cicmp("wrapper") || cicmp("whopper"))
71
                                special = YES;
72
                }
73
                for (;!isspace(*lbp);++lbp);
74
                for (;isspace(*lbp);++lbp);
75
                for (cp = lbp;*cp && *cp != '\n';++cp);
76
                *cp = EOS;
77
                if (special) {
78
                        if (!(cp = index(lbp,')')))
79
                                continue;
80
                        for (;cp >= lbp && *cp != ':';--cp);
81
                        if (cp < lbp)
82
                                continue;
83
                        lbp = cp;
84
                        for (;*cp && *cp != ')' && *cp != ' ';++cp);
85
                }
86
                else
87
                        for (cp = lbp + 1;
88
                            *cp && *cp != '(' && *cp != ' ';++cp);
89
                savedc = *cp;
90
                *cp = EOS;
91
                (void)strcpy(tok,lbp);
92
                *cp = savedc;
93
                getline();
94
                pfnote(tok,lineno);
95
        }
96
        /*NOTREACHED*/
97
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.