My Project
Loading...
Searching...
No Matches
libparse.h
Go to the documentation of this file.
1#ifndef LIBPARSE_H
2#define LIBPARSE_H
3/****************************************
4* Computer Algebra System SINGULAR *
5****************************************/
6/*
7* ABSTRACT: lib parsing
8*/
10typedef enum { LOAD_LIB, GET_INFO } lp_modes;
11
12#ifdef STANDALONE_PARSER
13
14
15#define idhdl void*
16#define leftv void*
17#define package void*
18#define BOOLEAN int
19
21// LANG_TOP : Toplevel package only
22// LANG_SINGULAR:
23// LANG_C :
24//
25
26class proc_singular
27{
28public:
29 long proc_start; // position where proc is starting
30 long def_end; // position where proc header is ending
31 long help_start; // position where help is starting
32 long help_end; // position where help is starting
33 long body_start; // position where proc-body is starting
34 long body_end; // position where proc-body is ending
35 long example_start; // position where example is starting
36 long proc_end; // position where proc is ending
37 int proc_lineno;
38 int body_lineno;
40 char *body;
41 long help_chksum;
42};
43
44struct proc_object
45{
46//public:
48};
49union uprocinfodata
50{
51public:
52 proc_singular s; // data of Singular-procedure
53 struct proc_object o; // pointer to binary-function
54};
55
56typedef union uprocinfodata procinfodata;
57
58class procinfo;
59typedef procinfo * procinfov;
60
61class procinfo
62{
63public:
64 char *libname;
65 char *procname;
66 package pack;
68 short ref;
69 char is_static; // if set, proc not accessible for user
70 char trace_flag;
71 procinfodata data;
72};
73#endif
74
76 const char *procname, int line, long pos, BOOLEAN pstatic=FALSE);
77
78int yylplex(const char *libname, const char *libfile, lib_style_types *lib_style,
79 idhdl pl, BOOLEAN autoexport=FALSE, lp_modes=LOAD_LIB);
80
81void reinit_yylp();
82
84
85# define YYLP_ERR_NONE 0
86# define YYLP_DEF_BR2 1
87# define YYLP_BODY_BR2 2
88# define YYLP_BODY_BR3 3
89# define YYLP_BODY_TMBR2 4
90# define YYLP_BODY_TMBR3 5
91# define YYLP_EX_BR2 6
92# define YYLP_EX_BR3 7
93# define YYLP_BAD_CHAR 8
94# define YYLP_MISSQUOT 9
95# define YYLP_MISS_BR1 10
96# define YYLP_MISS_BR2 11
97# define YYLP_MISS_BR3 12
98
99# ifdef STANDALONE_PARSER
100#define myfopen fopen
101#define myfread fread
102# endif
103
104#endif /* LIBPARSE_H */
105
106
int BOOLEAN
Definition: auxiliary.h:87
#define FALSE
Definition: auxiliary.h:96
Definition: idrec.h:35
Class used for (list of) interpreter objects.
Definition: subexpr.h:83
CanonicalForm res
Definition: facAbsFact.cc:60
const Variable & v
< [in] a sqrfree bivariate poly
Definition: facBivar.h:39
#define EXTERN_VAR
Definition: globaldefs.h:6
procinfo * iiInitSingularProcinfo(procinfov pi, const char *libname, const char *procname, int, long pos, BOOLEAN pstatic)
Definition: iplib.cc:1049
#define pi
Definition: libparse.cc:1145
void reinit_yylp()
Definition: libparse.cc:3376
VAR char * text_buffer
Definition: libparse.cc:1099
lib_style_types
Definition: libparse.h:9
@ OLD_LIBSTYLE
Definition: libparse.h:9
@ NEW_LIBSTYLE
Definition: libparse.h:9
lp_modes
Definition: libparse.h:10
@ LOAD_LIB
Definition: libparse.h:10
@ GET_INFO
Definition: libparse.h:10
int yylplex(const char *libname, const char *libfile, lib_style_types *lib_style, idhdl pl, BOOLEAN autoexport=FALSE, lp_modes=LOAD_LIB)
BOOLEAN(* function)(leftv res, leftv v)
Definition: subexpr.h:42
procinfo * procinfov
Definition: structs.h:60
char * libname
Definition: subexpr.h:56
language_defs language
Definition: subexpr.h:59
char * body
Definition: subexpr.h:36
long help_start
Definition: subexpr.h:29
int example_lineno
Definition: subexpr.h:35
procinfodata data
Definition: subexpr.h:63
char * procname
Definition: subexpr.h:57
long def_end
Definition: subexpr.h:28
long help_end
Definition: subexpr.h:30
long proc_end
Definition: subexpr.h:27
long example_start
Definition: subexpr.h:33
char trace_flag
Definition: subexpr.h:62
long help_chksum
Definition: subexpr.h:37
proc_singular s
Definition: subexpr.h:48
char is_static
Definition: subexpr.h:61
long proc_start
Definition: subexpr.h:26
language_defs
Definition: subexpr.h:22
@ LANG_MAX
Definition: subexpr.h:22
@ LANG_SINGULAR
Definition: subexpr.h:22
@ LANG_NONE
Definition: subexpr.h:22
@ LANG_MIX
Definition: subexpr.h:22
@ LANG_C
Definition: subexpr.h:22
@ LANG_TOP
Definition: subexpr.h:22
long body_start
Definition: subexpr.h:31
short ref
Definition: subexpr.h:60
struct proc_object o
Definition: subexpr.h:49
long body_end
Definition: subexpr.h:32
int body_lineno
Definition: subexpr.h:34