Release 1.6.5
[enscript.git] / states / hl / java.st
1 /**
2  * Name: java
3  * Description: Java programming language.
4  * Author: Paul Fisher <pnfisher@eos.ncsu.edu>
5  */
6
7 state java extends HighlightEntry
8 {
9   /* Comments. */
10   /\/\*/ {
11     comment_face (true);
12     language_print ($0);
13     call (c_comment);
14     comment_face (false);
15   }
16   /\/\// {
17     comment_face (true);
18     language_print ($0);
19     call (eat_one_line);
20     comment_face (false);
21   }
22
23   /* String constants. */
24   /\"/ {
25     string_face (true);
26     language_print ($0);
27     call (c_string);
28     string_face (false);
29   }
30
31   /* Character constants. */
32   /'.'|'\\\\.'/ {
33     string_face (true);
34     language_print ($0);
35     string_face (false);
36   }
37
38   /* Keywords.
39      (build-re '(abstract boolean break byte case catch char class
40      const continue default do double else extends false final finally
41      float for goto if implements import instanceof int interface long
42      native new null package private protected public return short static
43      super switch synchronized this throw throws transient true try void
44      volatile while))
45   */
46   /\b(abstract|b(oolean|reak|yte)|c(a(se|tch)|har|lass|on(st|tinue))\
47 |d(efault|o(|uble))|e(lse|xtends)|f(alse|inal(|ly)|loat|or)|goto\
48 |i(f|mp(lements|ort)|n(stanceof|t(|erface)))|long|n(ative|ew|ull)\
49 |p(ackage|r(ivate|otected)|ublic)|return\
50 |s(hort|tatic|uper|witch|ynchronized)|t(h(is|row(|s))|r(ansient|ue|y))\
51 |vo(id|latile)|while)\b/ {
52     keyword_face (true);
53     language_print ($0);
54     keyword_face (false);
55   }
56 }
57
58 \f
59 /*
60 Local variables:
61 mode: c
62 End:
63 */