FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
gnuplot/src/parse.h at master · gnuplot/gnuplot · GitHub
gnuplot
gnuplot
Repository navigation
Code
Pull requests
2
(2)
Actions
Security and quality
Insights
Expand file tree
Breadcrumbs
gnuplot
/
src
/
parse.h
Copy path
More file actions
More file actions
Latest commit
History
History
History
134 lines (111 loc) · 5.09 KB
Breadcrumbs
gnuplot
/
src
/
parse.h
Copy path
File metadata and controls
134 lines (111 loc) · 5.09 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
/* GNUPLOT - parse.h */
/*[
* Copyright 1986 - 1993, 1998, 2004 Thomas Williams, Colin Kelley
*
* Permission to use, copy, and distribute this software and its
* documentation for any purpose with or without fee is hereby granted,
* provided that the above copyright notice appear in all copies and
* that both that copyright notice and this permission notice appear
* in supporting documentation.
*
* Permission to modify the software is granted, but not the right to
* distribute the complete modified source code. Modifications are to
* be distributed as patches to the released version. Permission to
* distribute binaries produced by compiling modified sources is granted,
* provided you
* 1. distribute the corresponding source modifications from the
* released version in the form of a patch file along with the binaries,
* 2. add special version identification to distinguish your version
* in addition to the base release version number,
* 3. provide your name and address as the primary contact for the
* support of your modified version, and
* 4. retain our contact information in regard to use of the base
* software.
* Permission to distribute the released version of the source code along
* with corresponding source modifications in the form of a patch file is
* granted with same provisions 2 through 4 for binary distributions.
*
* This software is provided "as is" without express or implied warranty
* to the extent permitted by applicable law.
]*/
#ifndef
PARSE_H
# define
PARSE_H
# include
"syscfg.h"
# include
"gp_types.h"
#include
"eval.h"
/* externally usable types defined by parse.h */
/* exported variables of parse.c */
extern
TBOOLEAN
scanning_range_in_progress
;
/* The choice of dummy variables, as set by 'set dummy', 'set polar'
* and 'set parametric' */
extern
char
set_dummy_var
[
MAX_NUM_VAR
][
MAX_ID_LEN
+
1
];
/* Dummy variables referenced by name in a fit command */
/* Sep 2014 (DEBUG) used to deduce how many independent variables */
extern
int
fit_dummy_var
[
MAX_NUM_VAR
];
/* the currently used 'dummy' variables. Usually a copy of
* set_dummy_var, but may be changed by the '(s)plot' command
* containing an explicit range (--> 'plot [phi=0..pi]') */
extern
char
c_dummy_var
[
MAX_NUM_VAR
][
MAX_ID_LEN
+
1
];
/* This is used by plot_option_using() */
extern
int
at_highest_column_used
;
/* This is checked by df_readascii() */
extern
TBOOLEAN
parse_1st_row_as_headers
;
/* This is used by df_open() and df_readascii() */
extern
udvt_entry
*
df_array
;
/* This is used to block re-definition of built-in functions */
extern
int
is_builtin_function
(
int
t_num
);
/* Protection mechanism for trying to parse a string followed by a + or - sign.
* Also suppresses an undefined variable message if an unrecognized token
* is encountered during try_to_get_string().
*/
extern
TBOOLEAN
string_result_only
;
/* Prototypes of exported functions in parse.c */
intgr_t
int_expression
(
void
);
double
real_expression
(
void
);
void
parse_reset_after_error
(
void
);
struct
value
*
const_string_express
(
struct
value
*
valptr
);
struct
value
*
const_express
(
struct
value
*
valptr
);
char
*
string_or_express
(
struct
at_type
*
*
atptr
);
struct
at_type
*
temp_at
(
void
);
struct
at_type
*
perm_at
(
void
);
struct
at_type
*
create_call_column_at
(
char
*
);
struct
at_type
*
create_call_columnhead
(
void
);
struct
udvt_entry
*
add_udv
(
int
t_num
);
struct
udft_entry
*
add_udf
(
int
t_num
);
void
cleanup_udvlist
(
void
);
int
is_function
(
int
t_num
);
struct
value
*
split
(
const
char
*
string
,
const
char
*
sep
);
/* Code that uses the iteration routines here must provide */
/* a blank iteration structure to use for bookkeeping. */
typedef
struct
iterator
{
struct
iterator
*
next
;
/* linked list */
struct
udvt_entry
*
iteration_udv
;
t_value
original_udv_value
;
/* prior value of iteration variable */
char
*
iteration_string
;
int
iteration_start
;
int
iteration_end
;
int
iteration_increment
;
int
iteration_current
;
/* start + increment * iteration */
int
iteration
;
/* runs from 0 to (end-start)/increment */
TBOOLEAN
iteration_NODATA
;
/* set when an unbounded iteration dead-ends */
struct
at_type
*
start_at
;
/* expression that evaluates to iteration_start */
struct
at_type
*
end_at
;
/* expression that evaluates to iteration_end */
}
t_iterator
;
extern
t_iterator
*
plot_iterator
;
/* Used for plot and splot */
extern
t_iterator
*
set_iterator
;
/* Used by set/unset commands */
extern
t_iterator
*
print_iterator
;
/* Used by print command */
/* These are used by the iteration code */
t_iterator
*
check_for_iteration
(
void
);
TBOOLEAN
next_iteration
(
t_iterator
*
);
TBOOLEAN
empty_iteration
(
t_iterator
*
);
int
forever_iteration
(
t_iterator
*
);
void
flag_iteration_nodata
(
t_iterator
*
iter
);
void
warn_if_too_many_unbounded_iterations
(
t_iterator
*
iter
);
t_iterator
*
cleanup_iteration
(
t_iterator
*
);
/* These are used by the function block evaluation code */
void
cache_at
(
struct
at_type
*
*
shadow_at
,
int
*
shadow_at_size
);
void
uncache_at
(
struct
at_type
*
shadow_at
,
int
shadow_at_size
);
void
parse_link_via
(
struct
udft_entry
*
);
/* Magic number used instead of actual column number in $# */
#define
DOLLAR_NCOLUMNS
-123
#endif
/* PARSE_H */
Back
|
FazBrowse Home
|
New Git URL