ada.st - enscript - GNU Enscript
 (HTM) git clone git://thinkerwim.org/enscript.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       ada.st (1584B)
       ---
            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     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    */
           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 */