1 rizwank 1.1 /**
2 * Name: modula_2
3 * Description: modula_2 programming language
4 * Author: Peter Funk <pf@artcom0.artcom-gmbh.de>
5 */
6
7 state modula_2_comment extends Highlight
8 {
9 /(\*\))/ {
10 language_print ($0);
11 return;
12 }
13 }
14
15 state modula_2_string extends Highlight
16 {
17 /[\'\"]/ {
18 language_print ($0);
19 return;
20 }
21 }
22 rizwank 1.1
23 state modula_2 extends HighlightEntry
24 {
25 /* comments */
26 /(\(\*)/ {
27 comment_face (true);
28 language_print ($0);
29 call (modula_2_comment);
30 comment_face (false);
31 }
32 /* strings */
33 /[\'\"]/ {
34 string_face (true);
35 language_print ($0);
36 call (modula_2_string);
37 string_face (false);
38 }
39 /* Keywords. */
40 /\b(A(ND|RRAY)|B(EGIN|Y)|C(ASE|ONST)|D(EFINITION|IV|O)|ELS(E|IF)|END|EXIT\
41 |F(OR|ROM)|I(F|MPLEMENTATION|MPORT|N)|LOOP|MO(D|DULE)|NOT|OF|OR|POINTER\
42 |PROCEDURE|QUALIFIED|R(ECORD|EPEAT|ETURN)|SET|THEN|TO|TYPE|UNTIL|VAR\
43 rizwank 1.1 |WHILE|WITH)\b/ {
44 keyword_face (true);
45 language_print ($0);
46 keyword_face (false);
47 }
48 }
49
50
51 /*
52 Local variables:
53 mode: c
54 End:
55 */
|