a68g-transput.h
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-2024 J. Marcel van der Veer [algol68g@xs4all.nl].
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 [http://www.gnu.org/licenses/].
21
22 //! @section Synopsis
23 //!
24 //! Transput related definitions.
25
26 #if !defined (__A68G_TRANSPUT_H__)
27 #define __A68G_TRANSPUT_H__
28
29 #if (A68_LEVEL >= 3)
30 extern char *long_sub_whole_double (NODE_T *, DOUBLE_NUM_T, int);
31 #endif
32
33 BOOL_T convert_radix_mp (NODE_T *, MP_T *, int, int, MOID_T *, MP_T *, MP_T *);
34 BOOL_T convert_radix (NODE_T *, UNSIGNED_T, int, int);
35 BOOL_T genie_string_to_value_internal (NODE_T *, MOID_T *, char *, BYTE_T *);
36 char digchar (int);
37 char *error_chars (char *, int);
38 char *fixed (NODE_T * p);
39 char *get_transput_buffer (int);
40 char *long_sub_fixed (NODE_T *, MP_T *, int, int, int);
41 char *long_sub_whole (NODE_T *, MP_T *, int, int);
42 char pop_char_transput_buffer (int);
43 char *real (NODE_T *);
44 char *stack_string (NODE_T *, int);
45 char *sub_fixed_double (NODE_T *, DOUBLE_T, int, int, int);
46 char *sub_fixed (NODE_T *, REAL_T, int, int);
47 char *sub_whole (NODE_T *, INT_T, int);
48 char *whole (NODE_T * p);
49 FILE *a68_fopen (char *, char *, char *);
50 FILE_T open_physical_file (NODE_T *, A68_REF, int, mode_t);
51 GPROC genie_fixed;
52 GPROC genie_float;
53 GPROC genie_real;
54 GPROC genie_whole;
55 int char_scanner (A68_FILE *);
56 int end_of_format (NODE_T *, A68_REF);
57 int get_replicator_value (NODE_T *, BOOL_T);
58 int get_transput_buffer_index (int);
59 int get_transput_buffer_size (int);
60 int get_unblocked_transput_buffer (NODE_T *);
61 int store_file_entry (NODE_T *, FILE_T, char *, BOOL_T);
62 void add_a_string_transput_buffer (NODE_T *, int, BYTE_T *);
63 void add_chars_transput_buffer (NODE_T *, int, int, char *);
64 void add_string_from_stack_transput_buffer (NODE_T *, int);
65 void add_string_transput_buffer (NODE_T *, int, char *);
66 void end_of_file_error (NODE_T * p, A68_REF ref_file);
67 void enlarge_transput_buffer (NODE_T *, int, int);
68 void format_error (NODE_T *, A68_REF, char *);
69 void long_standardise (NODE_T *, MP_T *, int, int, int, int *);
70 void on_event_handler (NODE_T *, A68_PROCEDURE, A68_REF);
71 void open_error (NODE_T *, A68_REF, char *);
72 void open_for_reading (NODE_T *, A68_REF);
73 void open_for_writing (NODE_T *, A68_REF);
74 void pattern_error (NODE_T *, MOID_T *, int);
75 void plusab_transput_buffer (NODE_T *, int, char);
76 void plusto_transput_buffer (NODE_T *, char, int);
77 void read_insertion (NODE_T *, A68_REF);
78 void read_sound (NODE_T *, A68_REF, A68_SOUND *);
79 void reset_transput_buffer (int);
80 void set_default_event_procedure (A68_PROCEDURE *);
81 void set_default_event_procedures (A68_FILE *);
82 void set_transput_buffer_index (int, int);
83 void set_transput_buffer_size (int, int);
84 void standardise (REAL_T *, int, int, int *);
85 void transput_error (NODE_T *, A68_REF, MOID_T *);
86 void unblock_transput_buffer (int);
87 void unchar_scanner (NODE_T *, A68_FILE *, char);
88 void value_error (NODE_T *, MOID_T *, A68_REF);
89 void write_insertion (NODE_T *, A68_REF, MOOD_T);
90 void write_purge_buffer (NODE_T *, A68_REF, int);
91 void write_sound (NODE_T *, A68_REF, A68_SOUND *);
92
93 #endif
© 2002-2024 J.M. van der Veer (jmvdveer@xs4all.nl)
|