Annotation of 43BSDTahoe/man/man5/vgrindefs.5, revision 1.1.1.1

1.1       root        1: .\" Copyright (c) 1983 Regents of the University of California.
                      2: .\" All rights reserved.  The Berkeley software License Agreement
                      3: .\" specifies the terms and conditions for redistribution.
                      4: .\"
                      5: .\"    @(#)vgrindefs.5 6.2 (Berkeley) 9/30/87
                      6: .\"
                      7: .tr ||
                      8: .TH VGRINDEFS 5 "September 30, 1987"
                      9: .UC 5
                     10: .SH NAME
                     11: vgrindefs \- vgrind's language definition data base
                     12: .SH SYNOPSIS
                     13: .B /usr/lib/vgrindefs
                     14: .SH DESCRIPTION
                     15: .I Vgrindefs
                     16: contains all language definitions for vgrind.  The data base is
                     17: very similar to 
                     18: .IR termcap (5).
                     19: .SH FIELDS
                     20: The following table names and describes each field.  
                     21: .PP
                     22: .nf
                     23: .ta \w'k0-k9  'u +\w'Type  'u
                     24: \fBName        Type    Description\fR
                     25: pb     str     regular expression for start of a procedure
                     26: bb     str     regular expression for start of a lexical block
                     27: be     str     regular expression for the end of a lexical block
                     28: cb     str     regular expression for the start of a comment
                     29: ce     str     regular expression for the end of a comment
                     30: sb     str     regular expression for the start of a string
                     31: se     str     regular expression for the end of a string
                     32: lb     str     regular expression for the start of a character constant
                     33: le     str     regular expression for the end of a character constant
                     34: tl     bool    present means procedures are only defined at the top 
                     35:                lexical level
                     36: oc     bool    present means upper and lower case are equivalent
                     37: kw     str     a list of keywords separated by spaces
                     38: .fi
                     39: .PP
                     40: .B Example
                     41: .PP
                     42: The following entry, which describes the C language, is 
                     43: typical of a language entry.
                     44: .PP
                     45: .nf
                     46: C|c:\
                     47:        :pb=^\ed?*?\ed?\ep\ed?\(\ea?\):bb={:be=}:cb=/*:ce=*/:sb=":se=\ee":\e
                     48:        :lb=':le=\ee':tl:\e
                     49:        :kw=asm auto break case char continue default do double else enum\e
                     50:        extern float for fortran goto if int long register return short\e
                     51:        sizeof static struct switch typedef union unsigned while #define\e
                     52:        #else #endif #if #ifdef #ifndef #include #undef # define else endif\e
                     53:        if ifdef ifndef include undef:
                     54: .fi
                     55: .PP
                     56: Note that the first field is just the language name (and any variants
                     57: of it).  Thus the C language could be specified to
                     58: .IR vgrind (1)
                     59: as "c" or "C".
                     60: .PP
                     61: Entries may continue onto multiple lines by giving a \e as the last
                     62: character of a line.
                     63: Capabilities in
                     64: .I vgrindefs
                     65: are of two types:
                     66: Boolean capabilities which indicate that the language has
                     67: some particular feature
                     68: and string
                     69: capabilities which give a regular expression or 
                     70: keyword list.
                     71: .PP
                     72: .B REGULAR EXPRESSIONS
                     73: .PP
                     74: .I Vgrindefs
                     75: uses regular expression which are very similar to those of 
                     76: .IR ex (1)
                     77: and
                     78: .IR lex (1).
                     79: The characters `^', `$', `:' and `\e'
                     80: are reserved characters and must be
                     81: "quoted" with a preceding \e if they
                     82: are to be included as normal characters.
                     83: The metasymbols and their meanings are:
                     84: .IP $
                     85: the end of a line
                     86: .IP ^
                     87: the beginning of a line
                     88: .IP \ed
                     89: a delimiter (space, tab, newline, start of line)
                     90: .IP \ea
                     91: matches any string of symbols (like .* in lex)
                     92: .IP \ep
                     93: matches any alphanumeric name.  In a procedure definition (pb) the string
                     94: that matches this symbol is used as the procedure name.
                     95: .IP ()
                     96: grouping
                     97: .IP |
                     98: alternation
                     99: .IP ?
                    100: last item is optional
                    101: .IP \ee
                    102: preceding any string means that the string will not match an
                    103: input string if the input string is preceded by an escape character (\e).
                    104: This is typically used for languages (like C) which can include the
                    105: string delimiter in a string by escaping it.
                    106: .PP
                    107: Unlike other regular expressions in the system,  these match words
                    108: and not characters.  Hence something like "(tramp|steamer)flies?"
                    109: would match "tramp", "steamer", "trampflies", or "steamerflies".
                    110: .PP
                    111: .B KEYWORD LIST
                    112: .PP
                    113: The keyword list is just a list of keywords in the language separated
                    114: by spaces.  If the "oc" boolean is specified, indicating that upper
                    115: and lower case are equivalent, then all the keywords should be 
                    116: specified in lower case.
                    117: .SH FILES
                    118: .DT
                    119: /usr/lib/vgrindefs     file containing terminal descriptions
                    120: .SH SEE ALSO
                    121: vgrind(1), troff(1)
                    122: .SH AUTHOR
                    123: Dave Presotto
                    124: .SH BUGS

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.