My Project
Toggle main menu visibility
Loading...
Searching...
No Matches
Singular
fevoices.h
Go to the documentation of this file.
1
#ifndef FEVOICES_H
2
#define FEVOICES_H
3
/****************************************
4
* * Computer Algebra System SINGULAR *
5
* ****************************************/
6
/*
7
* * ABSTRACT: class Voice
8
* */
9
10
#include "
reporter/reporter.h
"
11
12
#include "
resources/feResource.h
"
13
14
#include "
kernel/structs.h
"
15
16
enum
feBufferTypes
17
{
18
BT_none
= 0,
// entry level
19
BT_break
= 1,
// while, for
20
BT_proc
,
// proc
21
BT_example
,
// example
22
BT_file
,
// <"file"
23
BT_execute
,
// execute
24
BT_if
,
// if
25
BT_else
// else
26
};
27
28
enum
feBufferInputs
29
{
30
BI_stdin
= 1,
31
BI_buffer
,
32
BI_file
33
};
34
enum
noeof_t
35
{
36
noeof_brace
= 1,
37
noeof_asstring
,
38
noeof_block
,
39
noeof_bracket
,
40
noeof_comment
,
41
noeof_procname
,
42
noeof_string
43
};
/* for scanner.l */
44
45
EXTERN_VAR
int
yylineno
;
46
EXTERN_VAR
char
my_yylinebuf
[80];
47
extern
const
char
sNoName_fe
[];
48
49
#ifdef __cplusplus
50
51
/* the C++-part: */
52
53
// LANG_TOP : Toplevel package only
54
// LANG_SINGULAR:
55
// LANG_C :
56
//
57
58
class
Voice
59
{
60
public
:
61
Voice
*
next
;
62
Voice
*
prev
;
63
char
*
filename
;
// file name or proc name
64
procinfo
*
pi
;
// proc info
65
void
*
oldb
;
// internal scanner buffer
66
// for files only:
67
FILE *
files
;
// file handle
68
// for buffers only:
69
char
*
buffer
;
// buffer pointer
70
long
fptr
;
// current position in buffer
71
long
ftellptr
;
// with glibc 2.22, file position gets lost
72
// in sig_chld_hdl (ssi:ffork link), see examples/waitall.sing
73
int
buff_size
;
// malloc size of buffer
74
75
int
start_lineno
;
// lineno, to restore in recursion
76
int
curr_lineno
;
// current lineno
77
feBufferInputs
sw
;
// BI_stdin: read from STDIN
78
// BI_buffer: buffer
79
// BI_file: files
80
char
ifsw
;
// if-switch:
81
/*1 ifsw==0: no if statement, else is invalid
82
* ==1: if (0) processed, execute else
83
* ==2: if (1) processed, else allowed but not executed
84
*/
85
feBufferTypes
typ
;
// buffer type: see BT_..
86
87
Voice
() { memset(
this
,0,
sizeof
(*
this
));}
88
feBufferTypes
Typ
();
89
void
Next
();
90
} ;
91
92
EXTERN_VAR
Voice
*
currentVoice
;
93
94
Voice
*
feInitStdin
(
Voice
*
pp
);
95
96
const
char
*
VoiceName
();
97
int
VoiceLine
();
98
void
VoiceBackTrack
();
99
BOOLEAN
contBuffer
(
feBufferTypes
typ);
100
BOOLEAN
exitBuffer
(
feBufferTypes
typ);
101
BOOLEAN
exitVoice
();
102
void
monitor
(
void
*F,
int
mode);
/* FILE*, int */
103
BOOLEAN
newFile
(
char
* fname);
104
void
newBuffer
(
char
*
s
,
feBufferTypes
t,
procinfo
*pname =
NULL
,
int
start_lineno = 0);
105
void
*
myynewbuffer
();
106
void
myyoldbuffer
(
void
* oldb);
107
108
#endif
109
#endif
110
BOOLEAN
int BOOLEAN
Definition
auxiliary.h:88
pp
CanonicalForm FACTORY_PUBLIC pp(const CanonicalForm &)
CanonicalForm pp ( const CanonicalForm & f ).
Definition
cf_gcd.cc:676
Voice
Definition
fevoices.h:59
Voice::curr_lineno
int curr_lineno
Definition
fevoices.h:76
Voice::next
Voice * next
Definition
fevoices.h:61
Voice::files
FILE * files
Definition
fevoices.h:67
Voice::Voice
Voice()
Definition
fevoices.h:87
Voice::buffer
char * buffer
Definition
fevoices.h:69
Voice::Next
void Next()
Definition
fevoices.cc:94
Voice::Typ
feBufferTypes Typ()
Definition
fevoices.cc:111
Voice::ftellptr
long ftellptr
Definition
fevoices.h:71
Voice::ifsw
char ifsw
Definition
fevoices.h:80
Voice::start_lineno
int start_lineno
Definition
fevoices.h:75
Voice::pi
procinfo * pi
Definition
fevoices.h:64
Voice::buff_size
int buff_size
Definition
fevoices.h:73
Voice::filename
char * filename
Definition
fevoices.h:63
Voice::sw
feBufferInputs sw
Definition
fevoices.h:77
Voice::oldb
void * oldb
Definition
fevoices.h:65
Voice::prev
Voice * prev
Definition
fevoices.h:62
Voice::typ
feBufferTypes typ
Definition
fevoices.h:85
Voice::fptr
long fptr
Definition
fevoices.h:70
s
const CanonicalForm int s
Definition
facAbsFact.cc:51
feResource.h
yylineno
VAR int yylineno
Definition
febase.cc:40
my_yylinebuf
VAR char my_yylinebuf[80]
Definition
febase.cc:44
currentVoice
VAR Voice * currentVoice
Definition
fevoices.cc:49
sNoName_fe
const char sNoName_fe[]
Definition
fevoices.cc:57
feBufferInputs
feBufferInputs
Definition
fevoices.h:29
BI_file
@ BI_file
Definition
fevoices.h:32
BI_buffer
@ BI_buffer
Definition
fevoices.h:31
BI_stdin
@ BI_stdin
Definition
fevoices.h:30
myyoldbuffer
void myyoldbuffer(void *oldb)
Definition
scanner.cc:2304
noeof_t
noeof_t
Definition
fevoices.h:35
noeof_string
@ noeof_string
Definition
fevoices.h:42
noeof_brace
@ noeof_brace
Definition
fevoices.h:36
noeof_comment
@ noeof_comment
Definition
fevoices.h:40
noeof_asstring
@ noeof_asstring
Definition
fevoices.h:37
noeof_block
@ noeof_block
Definition
fevoices.h:38
noeof_procname
@ noeof_procname
Definition
fevoices.h:41
noeof_bracket
@ noeof_bracket
Definition
fevoices.h:39
exitBuffer
BOOLEAN exitBuffer(feBufferTypes typ)
Definition
fevoices.cc:236
contBuffer
BOOLEAN contBuffer(feBufferTypes typ)
Definition
fevoices.cc:304
VoiceName
const char * VoiceName()
Definition
fevoices.cc:58
newBuffer
void newBuffer(char *s, feBufferTypes t, procinfo *pname=NULL, int start_lineno=0)
Definition
fevoices.cc:166
feBufferTypes
feBufferTypes
Definition
fevoices.h:17
BT_none
@ BT_none
Definition
fevoices.h:18
BT_else
@ BT_else
Definition
fevoices.h:25
BT_if
@ BT_if
Definition
fevoices.h:24
BT_break
@ BT_break
Definition
fevoices.h:19
BT_example
@ BT_example
Definition
fevoices.h:21
BT_execute
@ BT_execute
Definition
fevoices.h:23
BT_proc
@ BT_proc
Definition
fevoices.h:20
BT_file
@ BT_file
Definition
fevoices.h:22
myynewbuffer
void * myynewbuffer()
Definition
scanner.cc:2297
VoiceBackTrack
void VoiceBackTrack()
Definition
fevoices.cc:77
monitor
void monitor(void *F, int mode)
Definition
febase.cc:68
newFile
BOOLEAN newFile(char *fname)
Definition
fevoices.cc:129
feInitStdin
Voice * feInitStdin(Voice *pp)
Definition
fevoices.cc:677
VoiceLine
int VoiceLine()
Definition
fevoices.cc:66
exitVoice
BOOLEAN exitVoice()
Definition
fevoices.cc:341
EXTERN_VAR
#define EXTERN_VAR
Definition
globaldefs.h:6
NULL
#define NULL
Definition
omList.c:12
reporter.h
structs.h
procinfo
Definition
subexpr.h:54
Generated on
for My Project by
doxygen 1.17.0
for
Singular