vhdl.st - enscript - GNU Enscript
 (HTM) git clone git://thinkerwim.org/enscript.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       vhdl.st (2956B)
       ---
            1 /**
            2  * Name: vhdl
            3  * Description: VHSIC Hardware Description Language (VHDL)
            4  *                Highlights keywords, comments and special vhdl
            5  *                constructs.  Please send comments or suggestions.
            6  *
            7  * Author: Brian Silveira (brian@nortel.ca)
            8  *
            9  */
           10 
           11 state vhdl extends HighlightEntry
           12 {
           13   /* Comments. */
           14   /--/ {
           15     comment_face (true);
           16     language_print ($0);
           17     call (eat_one_line);
           18     comment_face (false);
           19   }
           20 
           21   /* String constants. */
           22   /\"/ {
           23     string_face (true);
           24     language_print ($0);
           25     call (c_string);
           26     string_face (false);
           27   }
           28 
           29   /* Keywords.
           30      (build-re '(abs access after alias all and architecture array
           31      assert attribute begin begin block body body buffer bus case
           32      component configuration configuration constant disconnect downto
           33      else elsif end entity exit file for function function generate
           34      generic guarded if in inout is label library linkage loop map
           35      mod nand new next nor not null of on open or others out package
           36      port procedure process range record register rem report return
           37      reverse select severity signal subtype then to transport type
           38      units until use variable wait when while with with xor)
           39      t)
           40    */
           41   /\b([aA]([bB][sS]|[cC][cC][eE][sS][sS]|[fF][tT][eE][rR]\
           42 |[lL]([iI][aA][sS]|[lL])|[nN][dD]\
           43 |[rR]([cC][hH][iI][tT][eE][cC][tT][uU][rR][eE]|[rR][aA][yY])\
           44 |[sS][sS][eE][rR][tT]|[tT][tT][rR][iI][bB][uU][tT][eE])\
           45 |[bB]([eE][gG][iI][nN]()|[lL][oO][cC][kK]|[oO][dD][yY]()\
           46 |[uU]([fF][fF][eE][rR]|[sS]))\
           47 |[cC]([aA][sS][eE]\
           48 |[oO]([mM][pP][oO][nN][eE][nN][tT]\
           49 |[nN]([fF][iI][gG][uU][rR][aA][tT][iI][oO][nN]()|[sS][tT][aA][nN][tT])))\
           50 |[dD]([iI][sS][cC][oO][nN][nN][eE][cC][tT]|[oO][wW][nN][tT][oO])\
           51 |[eE]([lL][sS]([eE]|[iI][fF])|[nN]([dD]|[tT][iI][tT][yY])|[xX][iI][tT])\
           52 |[fF]([iI][lL][eE]|[oO][rR]|[uU][nN][cC][tT][iI][oO][nN]())\
           53 |[gG]([eE][nN][eE][rR]([aA][tT][eE]|[iI][cC])|[uU][aA][rR][dD][eE][dD])\
           54 |[iI]([fF]|[nN](|[oO][uU][tT])|[sS])\
           55 |[lL]([aA][bB][eE][lL]|[iI]([bB][rR][aA][rR][yY]|[nN][kK][aA][gG][eE])\
           56 |[oO][oO][pP])\
           57 |[mM]([aA][pP]|[oO][dD])\
           58 |[nN]([aA][nN][dD]|[eE]([wW]|[xX][tT])|[oO]([rR]|[tT])|[uU][lL][lL])\
           59 |[oO]([fF]|[nN]|[pP][eE][nN]|[rR]|[tT][hH][eE][rR][sS]|[uU][tT])\
           60 |[pP]([aA][cC][kK][aA][gG][eE]|[oO][rR][tT]\
           61 |[rR][oO][cC][eE]([dD][uU][rR][eE]|[sS][sS]))\
           62 |[rR]([aA][nN][gG][eE]\
           63 |[eE]([cC][oO][rR][dD]|[gG][iI][sS][tT][eE][rR]|[mM]|[pP][oO][rR][tT]\
           64 |[tT][uU][rR][nN]|[vV][eE][rR][sS][eE]))\
           65 |[sS]([eE]([lL][eE][cC][tT]|[vV][eE][rR][iI][tT][yY])|[iI][gG][nN][aA][lL]\
           66 |[uU][bB][tT][yY][pP][eE])\
           67 |[tT]([hH][eE][nN]|[oO]|[rR][aA][nN][sS][pP][oO][rR][tT]|[yY][pP][eE])\
           68 |[uU]([nN]([iI][tT][sS]|[tT][iI][lL])|[sS][eE])\
           69 |[vV][aA][rR][iI][aA][bB][lL][eE]\
           70 |[wW]([aA][iI][tT]|[hH]([eE][nN]|[iI][lL][eE])|[iI][tT][hH]())\
           71 |[xX][oO][rR])\b/ {
           72     keyword_face (true);
           73     language_print ($0);
           74     keyword_face (false);
           75   }
           76 
           77   /<=|=>/ {
           78     reference_face (true);
           79     language_print ($0);
           80     reference_face(false);
           81   }
           82 }
           83 
           84 
           85 /*
           86 Local variables:
           87 mode: c
           88 End:
           89 */