# Style sheet for ada # Copyright (c) 1988, 89, 90, 91, 92, 93 Miguel Santana # Copyright (c) 1995, 96, 97, 98 Akim Demaille, Miguel Santana # $Id: ada.ssh,v 1.1.1.1.2.1 2007/12/29 01:58:27 mhatta Exp $ # # # This file is part of a2ps. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; see the file COPYING. If not, write to # the Free Software Foundation, 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. # ## 1.1 Akim Demaille # Adapted sequences to the new handling in a2ps ## 1.2 Akim Demaille # Fixed handling of char litterals ## 1.3 Akim Demaille # Fixed appearance of return is function declarations ## TODO # Use more subtle regexps instead of brain dead sequences for # functions/procedures style Ada is written by "Akim Demaille " version is 1.3 requires a2ps version 4.12a documentation is "This style sheets cover Ada 95. If you feel the need for Ada 83," "you'll have to design another style sheet." end documentation first alphabet is "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_)" second alphabet is "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_\'" keywords in Keyword_strong are abort, abs, abstract, accept, access, "access function", "access procedure", aliased, all, and, array, at, begin, body, "case", constant, declare, delay, delta, digits, do, else, elsif, "end", entry, exception, exit, for, function, generic, goto, if, "in", "is", limited, loop, mod, new, not, null, of, or, others, out, package, pragma, private, procedure, protected, raise, range, record, rem, renames, requeue, return, reverse, select, separate, subtype, tagged, task, terminate, then, type, until, use, when, while, with, xor end keywords optional operators are != \neq, == \equiv, <= \leq, >= \geq, => \Rightarrow end operators operators are # Handling of Ada character literals (/'(.)'/ "'" Plain, \1 String, "'" Plain) end operators sequences are -- Comment, "\"" Plain String "\"" Plain exceptions are "\"\"" end exceptions, # Special highlighting of some declarations "package " Keyword_strong Label_strong closers are " is" Keyword_strong, " renames" Keyword_strong end closers, "package body " Keyword_strong Label_strong " is" Keyword_strong, "procedure " Keyword_strong Label closers are " renames" Keyword_strong, " is" Keyword_strong, " (" Plain, "(" Plain, /$/ Plain, ; Plain end closers, "function " Keyword_strong Label closers are " return" Keyword_strong, " renames" Keyword_strong, " is" Keyword_strong, " (" Plain, "(" Plain, /$/ Plain, ; Plain end closers end sequences end style