PIPS
tpips.h
Go to the documentation of this file.
1 /* Warning! Do not modify this file that is automatically generated! */
2 /* Modify src/Libs/tpips/tpips-local.h instead, to add your own modifications. */
3 
4 /* header file built by cproto */
5 
6 #ifndef tpips_header_included
7 #define tpips_header_included
8 /* tpips-local.h */
9 /*
10 
11  $Id: tpips-local.h 23065 2016-03-02 09:05:50Z coelho $
12 
13  Copyright 1989-2016 MINES ParisTech
14 
15  This file is part of PIPS.
16 
17  PIPS is free software: you can redistribute it and/or modify it
18  under the terms of the GNU General Public License as published by
19  the Free Software Foundation, either version 3 of the License, or
20  any later version.
21 
22  PIPS is distributed in the hope that it will be useful, but WITHOUT ANY
23  WARRANTY; without even the implied warranty of MERCHANTABILITY or
24  FITNESS FOR A PARTICULAR PURPOSE.
25 
26  See the GNU General Public License for more details.
27 
28  You should have received a copy of the GNU General Public License
29  along with PIPS. If not, see <http://www.gnu.org/licenses/>.
30 
31 */
32 /* Storage for arguments of tpips commands. E.g.
33  display PRINTED_FILE[MOD_A, MOD_B]
34  display PRINTED_FILE
35 */
36 typedef struct {
37  gen_array_t the_owners; /* MOD_A, MOD_B, %ALL after expansion, default
38  value can be PROGRAM or current_module */
39  string the_name; /* e.g. PRINTED_FILE */
40 } res_or_rule;
41 
42 extern int tp_lex();
43 extern int tp_parse();
44 extern void tp_error();
45 extern void tp_init_lex();
46 extern void tp_begin_key();
47 extern void tp_begin_fname();
48 
49 extern FILE * tp_in;
50 #ifdef FLEX_SCANNER
51 extern void tp_restart(FILE *);
52 #endif
53 
54 #define TPIPS_PRIMARY_PROMPT "tpips> " /* prompt for readline */
55 #define TPIPS_REQUEST_PROMPT "tpips-request> "
56 #define TPIPS_SECONDARY_PROMPT "> "
57 #define TPIPS_CONTINUATION_CHAR '\\'
58 
59 #define TPIPS_HISTENV "TPIPS_HISTORY" /* history file env variable */
60 #define TPIPS_HISTORY_LENGTH 100 /* max length of history file */
61 #define TPIPS_COMMENT_PREFIX '#' /* comment prefix */
62 #define TPIPS_HISTORY ".tpips.history" /* default history file */
63 
64 #define SHELL_ESCAPE "shell" /* ! used for history reference */
65 #define CHANGE_DIR "cd"
66 #define TPIPS_SOURCE "source"
67 
68 #define SET_ENV "setenv"
69 #define GET_ENV "getenv"
70 
71 #define SET_PROP "setproperty"
72 #define GET_PROP "getproperty"
73 
74 #define QUIT "quit"
75 #define HELP "help"
76 /* macro ECHO is reserved by flex */
77 #define ECHO_N "echo"
78 
79 #define skip_blanks(str) \
80  while (*str && (*str==' ' || *str=='\t' || *str=='\n')) str++
81 
82 // redundant declarations to help bootstrap?
83 extern bool tpips_execution_mode;
84 extern bool tpips_is_interactive;
85 extern bool jpips_is_running;
86 extern bool tpips_init_done;
87 /* cproto-generated files */
88 /* tpips.c */
91 extern string tpips_current_file_name(void);
92 extern int tpips_current_line_number(void);
93 extern void tpips_next_line(void);
94 extern int tpips_current_line(void);
95 extern string tpips_current_name(void);
96 extern bool tpips_behaves_like_a_shell(void);
97 extern bool jpips_is_running;
98 extern FILE *jpips_out_file(void);
99 extern void jpips_begin_tag(string /*s*/);
100 extern void jpips_add_tag(string /*s*/);
101 extern void jpips_end_tag(void);
102 extern void jpips_tag(string /*s*/);
103 extern void jpips_tag2(string /*s1*/, string /*s2*/);
104 extern void jpips_done(void);
105 extern void jpips_string(const char */*a_message_format*/, va_list /*some_arguments*/);
106 extern void jpips_printf(const string /*format*/, ...);
107 extern char **get_module_names(void);
108 extern void tpips_internal_error(const char */*calling_function_name*/, const char */*a_message_format*/, ...);
109 extern void tpips_help(string /*line*/);
110 extern void tpips_close(void);
111 extern bool tpips_init_done;
112 extern bool consistency_enforced_p;
113 extern void tpips_init(void);
114 extern void tpips_process_a_file(FILE */*file*/, string /*name*/, bool /*use_rl*/);
115 extern int tpips_main(int /*argc*/, char */*argv*/[]);
116 extern bool phase_name_p(string /*name*/);
117 extern bool resource_name_p(string /*name*/);
118 extern bool property_name_p(string /*name*/);
119 /* wrapper.c */
120 extern void tpips_wrapper(void);
121 /* revisions.c */
122 /* tp_yacc.c */
123 extern int tp_char;
124 extern int tp_nerrs;
125 extern int tp_parse(void);
126 /* tp_lex.c */
127 extern int tp_leng;
128 extern FILE *tp_in;
129 extern FILE *tp_out;
130 extern int tp_lineno;
131 extern int tp__flex_debug;
132 extern char *tp_text;
133 extern string tpips_unknown_string;
134 extern void tpips_set_line_to_parse(char */*line*/);
135 extern char *tpips_get_line_to_parse(void);
136 extern void tpips_lex_print_pos(FILE */*fout*/);
137 extern int tp_lex(void);
138 extern void tp_restart(FILE */*input_file*/);
139 extern void tp_pop_buffer_state(void);
140 extern int tp_get_lineno(void);
141 extern FILE *tp_get_in(void);
142 extern FILE *tp_get_out(void);
143 extern int tp_get_leng(void);
144 extern char *tp_get_text(void);
145 extern void tp_set_lineno(int /*_line_number*/);
146 extern void tp_set_in(FILE */*_in_str*/);
147 extern void tp_set_out(FILE */*_out_str*/);
148 extern int tp_get_debug(void);
149 extern void tp_set_debug(int /*_bdebug*/);
150 extern int tp_lex_destroy(void);
151 extern void *tp_alloc(yy_size_t /*size*/);
152 extern void *tp_realloc(void */*ptr*/, yy_size_t /*size*/);
153 extern void tp_free(void */*ptr*/);
154 extern int tp_wrap(void);
155 extern void tp_init_lex(void);
156 extern void tp_error(const char */*s*/);
157 #endif /* tpips_header_included */
size_t yy_size_t
Definition: genread_lex.c:413
Storage for arguments of tpips commands.
Definition: tpips-local.h:28
void tpips_close(void)
Definition: tpips.c:868
int tp_lex_destroy(void)
void tp_init_lex()
FILE * tp_get_out(void)
void tp_set_lineno(int)
int tp_lex()
bool tpips_init_done
variable globale, utilisee par le parser helas
Definition: tpips.h:111
int tpips_current_line(void)
Definition: tpips.c:91
bool property_name_p(string)
bool jpips_is_running
Definition: tpips.h:97
int tp_leng
tp_lex.c
void tpips_init(void)
Definition: tpips.c:970
void tp_begin_fname()
bool tpips_behaves_like_a_shell(void)
Definition: tpips.c:143
void tp_set_out(FILE *)
int tp__flex_debug
void tpips_next_line(void)
Definition: tpips.c:86
void jpips_end_tag(void)
Definition: tpips.c:197
bool consistency_enforced_p
Pipsmake does not enforce consistency when properties are changed.
Definition: tpips.c:968
int tp_char
revisions.c
void tp_set_debug(int)
void tpips_internal_error(const char *, const char *,...)
void jpips_begin_tag(string)
Definition: tpips.c:187
void * tp_alloc(yy_size_t)
int tp_lineno
void jpips_done(void)
Definition: tpips.c:216
int tp_wrap(void)
bool phase_name_p(string)
void tpips_set_line_to_parse(char *)
in lex file
Definition: tp_lex.c:953
char * tp_get_text(void)
void jpips_tag(string)
Definition: tpips.c:203
void jpips_string(const char *, va_list)
Definition: tpips.c:221
bool resource_name_p(string)
void tpips_wrapper(void)
wrapper.c
Definition: wrapper.c:270
string tpips_current_name(void)
Definition: tpips.c:96
int tp_get_lineno(void)
void jpips_tag2(string, string)
Definition: tpips.c:209
void tpips_lex_print_pos(FILE *)
Definition: tp_lex.c:968
void tpips_process_a_file(FILE *, string, bool)
processing command line per line.
Definition: tpips.c:1062
int tp_nerrs
void tp_set_in(FILE *)
int tp_parse()
char * tpips_get_line_to_parse(void)
Definition: tp_lex.c:961
void * tp_realloc(void *, yy_size_t)
FILE * tp_get_in(void)
FILE * tp_out
int tp_get_debug(void)
int tp_get_leng(void)
void tp_begin_key()
bool tpips_is_interactive
Definition: tpips.h:90
void tp_free(void *)
string tpips_current_file_name(void)
Definition: tpips.c:76
void tpips_help(string)
Definition: tpips.c:688
int tpips_main(int, char *[])
MAIN: interactive loop and history management.
Definition: tpips.c:1298
void tp_restart(FILE *)
void tp_error()
FILE * jpips_out_file(void)
Definition: tpips.c:182
void jpips_add_tag(string)
Definition: tpips.c:192
void jpips_printf(const string,...)
Definition: tpips.c:229
string tpips_unknown_string
Definition: tp_lex.c:948
int tpips_current_line_number(void)
Definition: tpips.c:81
void tp_pop_buffer_state(void)
FILE * tp_in
Definition: tpips.h:128
bool tpips_execution_mode
cproto-generated files
Definition: tpips.h:89
char ** get_module_names(void)
Build an array with the names of all available modules.
Definition: tpips.c:332
char * tp_text