]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/m2/gm2-libs-iso/CharClass.mod
Update copyright years.
[thirdparty/gcc.git] / gcc / m2 / gm2-libs-iso / CharClass.mod
CommitLineData
1eee94d3
GM
1(* CharClass.mod implement the ISO CharClass specification.
2
a945c346 3Copyright (C) 2002-2024 Free Software Foundation, Inc.
1eee94d3
GM
4Contributed by Gaius Mulley <gaius.mulley@southwales.ac.uk>.
5
6This file is part of GNU Modula-2.
7
8GNU Modula-2 is free software; you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation; either version 3, or (at your option)
11any later version.
12
13GNU Modula-2 is distributed in the hope that it will be useful, but
14WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16General Public License for more details.
17
18Under Section 7 of GPL version 3, you are granted additional
19permissions described in the GCC Runtime Library Exception, version
203.1, as published by the Free Software Foundation.
21
22You should have received a copy of the GNU General Public License and
23a copy of the GCC Runtime Library Exception along with this program;
24see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
25<http://www.gnu.org/licenses/>. *)
26
27IMPLEMENTATION MODULE CharClass ;
28
29FROM ASCII IMPORT lf, cr, tab ;
30
31(* Classification of values of the type CHAR *)
32
33(* Returns TRUE if and only if ch is classified as a numeric character *)
34
35PROCEDURE IsNumeric (ch: CHAR) : BOOLEAN ;
36BEGIN
37 RETURN (ch>='0') AND (ch<='9')
38END IsNumeric ;
39
40
41(* Returns TRUE if and only if ch is classified as a letter *)
42
43PROCEDURE IsLetter (ch: CHAR): BOOLEAN;
44BEGIN
45 RETURN ((ch>='a') AND (ch<='z')) OR ((ch>='A') AND (ch<='Z'))
46END IsLetter ;
47
48
49(* Returns TRUE if and only if ch is classified as an upper case letter *)
50
51PROCEDURE IsUpper (ch: CHAR): BOOLEAN;
52BEGIN
53 RETURN (ch>='A') AND (ch<='Z')
54END IsUpper ;
55
56
57(* Returns TRUE if and only if ch is classified as a lower case letter *)
58
59PROCEDURE IsLower (ch: CHAR): BOOLEAN;
60BEGIN
61 RETURN (ch>='a') AND (ch<='z')
62END IsLower ;
63
64
65(* Returns TRUE if and only if ch represents a control function *)
66
67PROCEDURE IsControl (ch: CHAR): BOOLEAN;
68BEGIN
69 RETURN (ch<' ')
70END IsControl ;
71
72
73(* Returns TRUE if and only if ch represents a space character or a format effector *)
74
75PROCEDURE IsWhiteSpace (ch: CHAR): BOOLEAN;
76BEGIN
77 RETURN (ch=' ') OR (ch=cr) OR (ch=lf) OR (ch=tab)
78END IsWhiteSpace ;
79
80
81END CharClass.