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

개요

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

vgrindefs(7)

vg...s(7)Standards, Environments, Macros, Character Sets, and miscellanvyg...s(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} _  id‐
       strT{  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  de‐
       fined 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'  ca‐
              pability)  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 in‐
              put string if the input string is preceded by an escape  charac‐
              ter  (\). 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                        vg...s(7)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3