1 rizwank 1.1 /**
2 * Name: idl
3 * Description: IDL (CORBA Interface Definition Language)
4 */
5
6 state idl extends HighlightEntry
7 {
8 /* Comments. */
9 /\/\*/ {
10 comment_face (true);
11 language_print ($0);
12 call (c_comment);
13 comment_face (false);
14 }
15 /\/\// {
16 comment_face (true);
17 language_print ($0);
18 call (eat_one_line);
19 comment_face (false);
20 }
21
22 rizwank 1.1 /* Character constants. */
23 /'.'|'\\\\.'/ {
24 string_face (true);
25 language_print ($0);
26 string_face (false);
27 }
28
29 /* String constants. */
30 /\"/ {
31 string_face (true);
32 language_print ($0);
33 call (c_string);
34 string_face (false);
35 }
36
37 /* Pre-processor lines. */
38 /^#/ {
39 reference_face (true);
40 language_print ($0);
41 call (c_ppline);
42 reference_face (false);
43 rizwank 1.1 }
44
45 /* Boolean literals */
46 /\b(TRUE|FALSE)\b/ {
47 string_face (true);
48 language_print ($0);
49 string_face (false);
50 }
51
52 /* Keywords.
53 (build-re '(any attribute boolean case char const context default double
54 enum exception fixed float in inout interface long module Object
55 octet oneway out native raises readonly sequence short string struct switch
56 typedef unsigned union void wchar wstring))
57 */
58 /\b(Object|a(ny|ttribute)|boolean|c(ase|har|on(st|text))|d(efault|ouble)\
59 |e(num|xception)|f(ixed|loat)|in(|out|terface)|long|module|native\
60 |o(ctet|neway|ut)|r(aises|eadonly)|s(equence|hort|tr(ing|uct)|witch)\
61 |typedef|un(ion|signed)|void|w(char|string))\b/ {
62 keyword_face (true);
63 language_print ($0);
64 rizwank 1.1 keyword_face (false);
65 }
66 }
67
68
69 /*
70 Local variables:
71 mode: c
72 End:
73 */
|