-- This source is licensed under the Sunset License v1.0 with Ada.Characters.Latin_1; package body Packrat.Utilities is package Latin renames Ada.Characters.Latin_1; package Strmaps renames Ada.Strings.Maps; function In_Set (Element : in Character) return Boolean is begin return Strmaps.Is_In (Element, Set); end In_Set; function Not_In_Set (Element : in Character) return Boolean is begin return not Strmaps.Is_In (Element, Set); end Not_In_Set; function Is_Digit (Char : in Character) return Boolean is begin return (Char >= '0' and Char <= '9'); end Is_Digit; function Is_Hex (Char : in Character) return Boolean is begin return (Char >= '0' and Char <= '9') or (Char >= 'A' and Char <= 'F') or (Char >= 'a' and Char <= 'f'); end Is_Hex; function Is_Letter (Char : in Character) return Boolean is begin return (Char >= 'A' and Char <= 'Z') or (Char >= 'a' and Char <= 'z'); end Is_Letter; function Is_Alphanumeric (Char : in Character) return Boolean is begin return Is_Digit (Char) or Is_Letter (Char); end Is_Alphanumeric; function Is_Punctuation (Char : in Character) return Boolean is begin return (Char >= '!' and Char <= '/') or (Char >= ':' and Char <= '@') or (Char >= '[' and Char <= '`') or (Char >= '{' and Char <= '~'); end Is_Punctuation; function Is_ASCII (Char : in Character) return Boolean is begin return Char <= Character'Val (127); end Is_ASCII; function Is_Extended_ASCII (Char : in Character) return Boolean is begin return Char >= Character'Val (128); end Is_Extended_ASCII; function Is_Space (Char : in Character) return Boolean is begin return Char = ' '; end Is_Space; function Is_Linespace (Char : in Character) return Boolean is begin return (Char = ' ' or Char = Latin.HT); end Is_Linespace; function Is_End_Of_Line (Char : in Character) return Boolean is begin return (Char = Latin.LF or Char = Latin.CR); end Is_End_Of_Line; function Is_Whitespace (Char : in Character) return Boolean is begin return Char = Latin.HT or Char = Latin.LF or Char = Latin.CR or Char = ' '; end Is_Whitespace; function Not_Whitespace (Char : in Character) return Boolean is begin return not Is_Whitespace (Char); end Not_Whitespace; end Packrat.Utilities;