ACC SHELL
# 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.13 1998/03/19 14:09:23 demaille 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 2, 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 <akim@freefriends.org>"
version is 1.3
requires a2ps version 4.13
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
ACC SHELL 2018