a68g-transput.h

You can download the current version of Algol 68 Genie and its documentation here.

   1 //! @file a68g-transput.h
   2 //! @author J. Marcel van der Veer
   3 //!
   4 //! @section Copyright
   5 //!
   6 //! This file is part of Algol68G - an Algol 68 compiler-interpreter.
   7 //! Copyright 2001-2023 J. Marcel van der Veer .
   8 //!
   9 //! @section License
  10 //!
  11 //! This program is free software; you can redistribute it and/or modify it 
  12 //! under the terms of the GNU General Public License as published by the 
  13 //! Free Software Foundation; either version 3 of the License, or 
  14 //! (at your option) any later version.
  15 //!
  16 //! This program is distributed in the hope that it will be useful, but 
  17 //! WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
  18 //! or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 
  19 //! more details. You should have received a copy of the GNU General Public 
  20 //! License along with this program. If not, see .
  21 
  22 #if !defined (__A68G_TRANSPUT_H__)
  23 #define __A68G_TRANSPUT_H__
  24 
  25 #if (A68_LEVEL >= 3)
  26 extern char *long_sub_whole_double (NODE_T *, QUAD_WORD_T, int);
  27 #endif
  28 
  29 extern BOOL_T convert_radix_mp (NODE_T *, MP_T *, int, int, MOID_T *, MP_T *, MP_T *);
  30 extern BOOL_T convert_radix (NODE_T *, UNSIGNED_T, int, int);
  31 extern BOOL_T genie_string_to_value_internal (NODE_T *, MOID_T *, char *, BYTE_T *);
  32 extern char digchar (int);
  33 extern char *error_chars (char *, int);
  34 extern char *fixed (NODE_T * p);
  35 extern char *get_transput_buffer (int);
  36 extern char *long_sub_fixed (NODE_T *, MP_T *, int, int, int);
  37 extern char *long_sub_whole (NODE_T *, MP_T *, int, int);
  38 extern char pop_char_transput_buffer (int);
  39 extern char *real (NODE_T *);
  40 extern char *sub_fixed_double (NODE_T *, DOUBLE_T, int, int, int);
  41 extern char *sub_fixed (NODE_T *, REAL_T, int, int);
  42 extern char *sub_whole (NODE_T *, INT_T, int);
  43 extern char *whole (NODE_T * p);
  44 extern FILE *a68_fopen (char *, char *, char *);
  45 extern FILE_T open_physical_file (NODE_T *, A68_REF, int, mode_t);
  46 extern GPROC genie_fixed;
  47 extern GPROC genie_float;
  48 extern GPROC genie_real;
  49 extern GPROC genie_whole;
  50 extern int char_scanner (A68_FILE *);
  51 extern int end_of_format (NODE_T *, A68_REF);
  52 extern int get_replicator_value (NODE_T *, BOOL_T);
  53 extern int get_transput_buffer_index (int);
  54 extern int get_transput_buffer_size (int);
  55 extern int get_unblocked_transput_buffer (NODE_T *);
  56 extern int store_file_entry (NODE_T *, FILE_T, char *, BOOL_T);
  57 extern void add_a_string_transput_buffer (NODE_T *, int, BYTE_T *);
  58 extern void add_chars_transput_buffer (NODE_T *, int, int, char *);
  59 extern void add_string_from_stack_transput_buffer (NODE_T *, int);
  60 extern void add_string_transput_buffer (NODE_T *, int, char *);
  61 extern void end_of_file_error (NODE_T * p, A68_REF ref_file);
  62 extern void enlarge_transput_buffer (NODE_T *, int, int);
  63 extern void format_error (NODE_T *, A68_REF, char *);
  64 extern void long_standardise (NODE_T *, MP_T *, int, int, int, int *);
  65 extern void on_event_handler (NODE_T *, A68_PROCEDURE, A68_REF);
  66 extern void open_error (NODE_T *, A68_REF, char *);
  67 extern void pattern_error (NODE_T *, MOID_T *, int);
  68 extern void plusab_transput_buffer (NODE_T *, int, char);
  69 extern void plusto_transput_buffer (NODE_T *, char, int);
  70 extern void read_insertion (NODE_T *, A68_REF);
  71 extern void read_sound (NODE_T *, A68_REF, A68_SOUND *);
  72 extern void reset_transput_buffer (int);
  73 extern void set_default_event_procedure (A68_PROCEDURE *);
  74 extern void set_default_event_procedures (A68_FILE *);
  75 extern void set_transput_buffer_index (int, int);
  76 extern void set_transput_buffer_size (int, int);
  77 extern void standardise (REAL_T *, int, int, int *);
  78 extern void transput_error (NODE_T *, A68_REF, MOID_T *);
  79 extern void unchar_scanner (NODE_T *, A68_FILE *, char);
  80 extern void value_error (NODE_T *, MOID_T *, A68_REF);
  81 extern void write_insertion (NODE_T *, A68_REF, MOOD_T);
  82 extern void write_purge_buffer (NODE_T *, A68_REF, int);
  83 extern void write_sound (NODE_T *, A68_REF, A68_SOUND *);
  84 
  85 #endif