FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
gnuplot-old/src/parse.h at axis_branch_base · gnuplot/gnuplot-old · GitHub
gnuplot
gnuplot-old
Repository navigation
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
gnuplot-old
/
src
/
parse.h
Copy path
More file actions
More file actions
Latest commit
History
History
History
94 lines (77 loc) · 3.29 KB
Breadcrumbs
gnuplot-old
/
src
/
parse.h
Copy path
File metadata and controls
94 lines (77 loc) · 3.29 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
/*
* $Id: parse.h,v 1.4.2.1 2000/06/22 12:57:39 broeker Exp $
*/
/* GNUPLOT - parse.h */
/*[
* Copyright 1986 - 1993, 1998 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"
#define
MAX_AT_LEN
150
/* max number of entries in action table */
/* externally usable types defined by parse.h */
enum
operators
{
/* keep this in line with table in eval.c */
PUSH
,
PUSHC
,
PUSHD1
,
PUSHD2
,
PUSHD
,
CALL
,
CALLN
,
LNOT
,
BNOT
,
UMINUS
,
LOR
,
LAND
,
BOR
,
XOR
,
BAND
,
EQ
,
NE
,
GT
,
LT
,
GE
,
LE
,
PLUS
,
MINUS
,
MULT
,
DIV
,
MOD
,
POWER
,
FACTORIAL
,
BOOLE
,
DOLLARS
,
/* for using extension - div */
/* only jump operators go between jump and sf_start, for is_jump() */
JUMP
,
JUMPZ
,
JUMPNZ
,
JTERN
,
SF_START
};
#define
is_jump
(
operator
) \
((operator) >=(int)JUMP && (operator) <(int)SF_START)
/* action table entry */
struct
at_entry
{
enum
operators
index
;
/* index of p-code function */
union
argument
arg
;
};
struct
at_type
{
/* count of entries in .actions[] */
int
a_count
;
/* will usually be less than MAX_AT_LEN is malloc()'d copy */
struct
at_entry
actions
[
MAX_AT_LEN
];
};
/* exported variables of parse.c */
/* 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
];
/* 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
];
/* Prototypes of exported functions in parse.c */
/* void fpe __PROTO((void)); */
void
evaluate_at
__PROTO
((
struct
at_type
*
at_ptr
,
struct
value
*
val_ptr
));
struct
value
*
const_express
__PROTO
((
struct
value
*
valptr
));
struct
at_type
*
temp_at
__PROTO
((
void
));
struct
at_type
*
perm_at
__PROTO
((
void
));
#endif
/* PARSE_H */
Back
|
FazBrowse Home
|
New Git URL