Quash Shell  0.1
A simple yet powerfull shell program
parsing_interface.h
Go to the documentation of this file.
1 
8 #ifndef SRC_PARSING_PARSING_INTERFACE_H
9 #define SRC_PARSING_PARSING_INTERFACE_H
10 
11 #include <stdbool.h>
12 
13 #include "command.h"
14 #include "deque.h"
15 #include "quash.h"
16 
21 typedef struct Redirect {
22  char* in;
23  char* out;
24  bool append;
26 } Redirect;
27 
36 IMPLEMENT_DEQUE_STRUCT(CmdStrs, char*);
37 
46 
47 PROTOTYPE_DEQUE(CmdStrs, char*);
52 /*************************************************************
53  * Functions used by the parser
54  *************************************************************/
68 Redirect mk_redirect(char* in, char* out, bool append);
69 
80 char* interpret_complex_string_token(const char* str);
81 
82 
83 /*************************************************************
84  * Functions used by the parser
85  *************************************************************/
97 CommandHolder* parse(QuashState* state);
98 
102 void destroy_parser();
103 
104 #endif
bool append
Definition: parsing_interface.h:24
Command structures and functions for defining and managing commands.
Contains information about the properties of the command.
Definition: command.h:207
char * in
Definition: parsing_interface.h:22
#define IMPLEMENT_DEQUE_STRUCT(struct_name, type)
Generates a structure for use with Double Ended Queues.
Definition: deque.h:33
Intermediate parsing structure used to determine the final configuration of the redirects in a comman...
Definition: parsing_interface.h:21
char * out
Definition: parsing_interface.h:23
Holds information about the state and environment Quash is running in.
Definition: quash.h:19
#define PROTOTYPE_DEQUE(struct_name, type)
Generates prototypes for functions that manipulate Double Ended Queue structures. ...
Definition: deque.h:60
struct Redirect Redirect
Intermediate parsing structure used to determine the final configuration of the redirects in a comman...