vgrindefs(7) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

vgrindefs(7)

Standards, Environments, Macros, Character Sets, and miscellany
                                                                  vgrindefs(7)



NAME
       vgrindefs - vgrind's language definition database

SYNOPSIS
       /usr/lib/vgrindefs

DESCRIPTION
       vgrindefs contains all language definitions for vgrind(1). Capabilities
       in vgrindefs are of two types: Boolean capabilities which indicate that
       the  language has some particular feature and string capabilities which
       give a regular expression or keyword list. Entries  may  continue  onto
       multiple  lines  by  giving  a \ as the last character of a line. Lines
       starting with # are comments.

   Capabilities
       The following table names and describes each capability.


       tab()  box;  lw(0.6i)   |lw(0.64i)   |lw(4.26i)   lw(0.6i)   |lw(0.64i)
       |lw(4.26i)  NameTypeDescription  _  abstrT{  Regular expression for the
       start of an alternate form comment T} _ aestrT{ Regular expression  for
       the  end  of  an alternate form comment T} _ bbstrT{ Regular expression
       for the start of a block T} _ bestrT{ Regular expression for the end of
       a lexical block T} _ cbstrT{ Regular expression for the start of a com‐
       ment T} _ cestrT{ Regular expression for the end  of  a  comment  T}  _
       idstrT{ String giving characters other than letters and digits that may
       legally occur in identifiers (default '_') T} _ kwstrA list of keywords
       separated  by  spaces  _  lbstrT{ Regular expression for the start of a
       character constant T} _ lestrT{ Regular expression for  the  end  of  a
       character  constant T} _ ocboolT{ Present means uppercase and lowercase
       are equivalent T} _ pbstrT{ Regular expression for start of a procedure
       T}  _  plboolT{  Procedure  definitions  are constrained to the lexical
       level matched by the 'px' capability T} _ pxstrT{ A match for this reg‐
       ular  expression  indicates that procedure definitions may occur at the
       next lexical level. Useful for lisp-like languages in  which  procedure
       definitions  occur  as  subexpressions of defuns.  T} _ sbstrT{ Regular
       expression for the start of a string T} _  sestrT{  Regular  expression
       for the end of a string T} _ tcstrT{ Use the named entry as a continua‐
       tion of this one T}  _  tlboolT{  Present  means  procedures  are  only
       defined at the top lexical level T}


   Regular Expressions
       vgrindefs  uses  regular  expressions  similar  to  those  of ex(1) and
       lex(1). The characters '^', '$', ':', and '\' are  reserved  characters
       and  must  be 'quoted' with a preceding \ if they are to be included as
       normal characters. The metasymbols and their meanings are:

       $      The end of a line


       ^      The beginning of a line


       \d     A delimiter (space, tab, newline, start of line)


       \a     Matches any string of symbols (like '.*' in lex)


       \p     Matches any identifier. In  a  procedure  definition  (the  'pb'
              capability)  the  string that matches this symbol is used as the
              procedure name.


       ()     Grouping


       |      Alternation


       ?      Last item is optional


       \e     Preceding any string means that the string  will  not  match  an
              input  string if the input string is preceded by an escape char‐
              acter (\). This is typically used for languages  (like  C)  that
              can include the string delimiter in a string by escaping it.



       Unlike  other  regular expressions in the system, these match words and
       not characters.  Hence  something  like  '(tramp|steamer)flies?'  would
       match  'tramp', 'steamer', 'trampflies', or 'steamerflies'. Contrary to
       some forms of regular  expressions,  vgrindef  alternation  binds  very
       tightly. Grouping parentheses are likely to be necessary in expressions
       involving alternation.

   Keyword List
       The keyword list is just a list of keywords in the  language  separated
       by  spaces. If the 'oc' boolean is specified, indicating that uppercase
       and lowercase are equivalent, then all the keywords should be specified
       in lowercase.

EXAMPLES
       Example 1 A sample program.




       The  following  entry,  which describes the C language, is typical of a
       language entry.


         C|c|the C programming language:\
             :pb=^\d?*?\d?\p\d?(\a?\)(\d|{):bb={:be=}:cb=/*:ce=*/:sb=":se=\e":\
             :le=\e':tl:\
             :kw=asm auto break case char continue default do double else enum\
             extern float for fortran goto if int long register return short\
             sizeof static struct switch typedef union unsigned void while #define\
             #else #endif #if #ifdef #ifndef #include #undef # define endif\
             ifdef ifndef include undef defined:




       Note that the first field is just the language name (and  any  variants
       of  it).  Thus the C language could be specified to vgrind(1) as 'c' or
       'C'.

FILES
       /usr/lib/vgrindefs    file containing vgrind descriptions


SEE ALSO
       ex(1), lex(1), troff(1), vgrind(1)



Oracle Solaris 11.4               11 May 2021                     vgrindefs(7)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3