File: ada.ssh

package info (click to toggle)
a2ps 1%3A4.14-2
  • links: PTS
  • area: main
  • in suites: stretch
  • size: 13,328 kB
  • sloc: ansic: 26,966; sh: 11,844; lex: 2,286; perl: 1,156; yacc: 757; makefile: 609; lisp: 398; ada: 263; objc: 189; f90: 109; ml: 85; sql: 74; pascal: 57; modula3: 33; haskell: 32; sed: 30; java: 29; python: 24
file content (113 lines) | stat: -rw-r--r-- 3,266 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# 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 <akim@freefriends.org>"
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