1/** 2 * Name: idl 3 * Description: IDL (CORBA Interface Definition Language) 4 */ 5 6state 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 /* 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 } 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 keyword_face (false); 65 } 66} 67 68 69/* 70Local variables: 71mode: c 72End: 73*/ 74