1 rizwank 1.1 /**
2 * Name: ada
3 * Description: Ada95 programming language.
4 * Author: Rolf Ebert <ebert@waporo.muc.de>
5 */
6
7 state ada extends HighlightEntry
8 {
9 /* Comments. */
10 /--/ {
11 comment_face (true);
12 language_print ($0);
13 call (eat_one_line);
14 comment_face (false);
15 }
16
17 /* String constants. */
18 /\"/ {
19 string_face (true);
20 language_print ($0);
21 call (c_string);
22 rizwank 1.1 string_face (false);
23 }
24
25
26 /* Character constants. */
27 /'.'|'\\\\.'/ {
28 string_face (true);
29 language_print ($0);
30 string_face (false);
31 }
32
33 /* Keywords.
34 (build-re '(abort abs abstract accept access aliased
35 all and array at begin body case constant declare
36 delay delta digits do else elsif end entry
37 exception exit for function generic goto if in
38 is limited loop mod new not null of or others
39 out package pragma private procedure protected raise
40 range record rem renames requeue return reverse
41 select separate subtype tagged task terminate then type
42 until use when while with xor))
43 rizwank 1.1 */
44 /\b(a(b(ort|s(|tract))|cce(pt|ss)|l(iased|l)|nd|rray|t)|b(egin|ody)\
45 |c(ase|onstant)|d(e(clare|l(ay|ta))|igits|o)\
46 |e(ls(e|if)|n(d|try)|x(ception|it))|f(or|unction)|g(eneric|oto)\
47 |i(f|n|s)|l(imited|oop)|mod|n(ew|ot|ull)|o(f|r|thers|ut)\
48 |p(ackage|r(agma|ivate|o(cedure|tected)))\
49 |r(a(ise|nge)|e(cord|m|names|queue|turn|verse))\
50 |s(e(lect|parate)|ubtype)|t(a(gged|sk)|erminate|hen|ype)|u(ntil|se)\
51 |w(h(en|ile)|ith)|xor)\b/ {
52 keyword_face (true);
53 language_print ($0);
54 keyword_face (false);
55 }
56 }
57
58
59 /*
60 Local variables:
61 mode: c
62 End:
63 */
|