language-Modula2-0.1: examples/Modula-2_Libraries/C.-Lins_Modula-2_Software_Component_Library/Vol1/UTILS/CHARUTIL.DEF
DEFINITION MODULE CharUtils;
(*====================================================================
Version : 1.0 Sat, Mar 4, 1989 C. Lins
Compiler : JPI TopSpeed Modula-2
Component: Tool- Primitive Utility - Character Utilities
INTRODUCTION
This module provides elementary character operations.
REVISION HISTORY
v1.0 Sat, Mar 4, 1989 C. Lins
Initial JPI implementation.
PROPRIETARY NOTICES
CharUtils.DEF Copyright (C) 1989 Charles A. Lins.
====================================================================*)
FROM ASCII IMPORT (*--Cons*) nul, us, del, space, tilde;
(*--------------------*)
TYPE AsciiCharacter = CHAR [ nul .. del ];
TYPE ControlCharacter = CHAR [ nul .. us ];
TYPE GraphicCharacter = CHAR [ space .. tilde ];
TYPE UppercaseCharacter = CHAR [ 'A' .. 'Z' ];
TYPE LowercaseCharacter = CHAR [ 'a' .. 'z' ];
TYPE BinaryCharacter = CHAR [ '0' .. '1' ];
TYPE OctalCharacter = CHAR [ '0' .. '7' ];
TYPE DigitCharacter = CHAR [ '0' .. '9' ];
TYPE HexCharacter = CHAR [ 'A' .. 'F' ];
TYPE Digit = CARDINAL [ 0 .. 15 ];
TYPE BinaryDigit = CARDINAL [ 0 .. 1 ];
TYPE OctalDigit = CARDINAL [ 0 .. 7 ];
TYPE DecimalDigit = CARDINAL [ 0 .. 9 ];
TYPE HexDigit = Digit;
TYPE Letter = CARDINAL [ 1 .. 26 ];
(*--------------------*)
PROCEDURE MakeUppercase (VAR theChar : CHAR (*-- inout *));
PROCEDURE MakeLowercase (VAR theChar : CHAR (*-- inout *));
PROCEDURE Uppercase ( theChar : CHAR (*-- in *))
: CHAR (*-- out *);
PROCEDURE Lowercase ( theChar : CHAR (*-- in *))
: CHAR (*-- out *);
PROCEDURE IsAscii ( theChar : CHAR (*-- in *))
: BOOLEAN (*-- out *);
PROCEDURE IsControl ( theChar : CHAR (*-- in *))
: BOOLEAN (*-- out *);
PROCEDURE IsGraphic ( theChar : CHAR (*-- in *))
: BOOLEAN (*-- out *);
PROCEDURE IsLowercase ( theChar : CHAR (*-- in *))
: BOOLEAN (*-- out *);
PROCEDURE IsUppercase ( theChar : CHAR (*-- in *))
: BOOLEAN (*-- out *);
PROCEDURE IsAlphabetic ( theChar : CHAR (*-- in *))
: BOOLEAN (*-- out *);
PROCEDURE IsDigit ( theChar : CHAR (*-- in *))
: BOOLEAN (*-- out *);
PROCEDURE IsBinaryDigit ( theChar : CHAR (*-- in *))
: BOOLEAN (*-- out *);
PROCEDURE IsOctalDigit ( theChar : CHAR (*-- in *))
: BOOLEAN (*-- out *);
PROCEDURE IsDecimalDigit ( theChar : CHAR (*-- in *))
: BOOLEAN (*-- out *);
PROCEDURE IsHexDigit ( theChar : CHAR (*-- in *))
: BOOLEAN (*-- out *);
PROCEDURE IsAlphanumeric ( theChar : CHAR (*-- in *))
: BOOLEAN (*-- out *);
PROCEDURE IsSpecial ( theChar : CHAR (*-- in *))
: BOOLEAN (*-- out *);
PROCEDURE ValueOf ( theChar : CHAR (*-- in *))
: Digit (*-- out *);
PROCEDURE ImageOf ( theDigit: Digit (*-- in *))
: CHAR (*-- out *);
PROCEDURE IndexOf ( theChar : CHAR (*-- in *))
: Letter (*-- out *);
PROCEDURE UppercaseOf ( theLetter: Letter (*-- in *))
: CHAR (*-- out *);
PROCEDURE LowercaseOf ( theLetter: Letter (*-- in *))
: CHAR (*-- out *);
PROCEDURE IsEqual ( left : CHAR (*-- in *);
right : CHAR (*-- in *);
caseSensitive: BOOLEAN (*-- in *))
: BOOLEAN (*-- out *);
PROCEDURE IsLessThan ( left : CHAR (*-- in *);
right : CHAR (*-- in *);
caseSensitive: BOOLEAN (*-- in *))
: BOOLEAN (*-- out *);
PROCEDURE IsGreaterThan ( left : CHAR (*-- in *);
right : CHAR (*-- in *);
caseSensitive: BOOLEAN (*-- in *))
: BOOLEAN (*-- out *);
END CharUtils.