Jabber WindowGram Client (JWGC)

Introduction Screenshots Installation Downloads
Documentation Browse Source Resources Project Site

Stable Version
-none-

Latest Version
beta5



Main Page | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

node.h File Reference

#include "mit-copyright.h"
#include "new_string.h"

Go to the source code of this file.

Data Structures

struct  _Node

Defines

#define STRING_CONSTANT_OPCODE   0
#define VARREF_OPCODE   1
#define VARNAME_OPCODE   2
#define NOT_OPCODE   3
#define PLUS_OPCODE   4
#define AND_OPCODE   5
#define OR_OPCODE   6
#define EQ_OPCODE   7
#define NEQ_OPCODE   8
#define REGEQ_OPCODE   9
#define REGNEQ_OPCODE   10
#define BUFFER_OPCODE   11
#define SUBSTITUTE_OPCODE   12
#define PROTECT_OPCODE   13
#define VERBATIM_OPCODE   14
#define GETENV_OPCODE   15
#define UPCASE_OPCODE   16
#define DOWNCASE_OPCODE   17
#define JVAR_OPCODE   18
#define GET_OPCODE   19
#define LANY_OPCODE   20
#define RANY_OPCODE   21
#define LBREAK_OPCODE   22
#define RBREAK_OPCODE   23
#define LSPAN_OPCODE   24
#define RSPAN_OPCODE   25
#define PARAGRAPH_OPCODE   26
#define LAST_EXPR_OPCODE   26
#define NOOP_OPCODE   27
#define SET_OPCODE   28
#define FIELDS_OPCODE   29
#define PRINT_OPCODE   30
#define CLEARBUF_OPCODE   31
#define APPENDPORT_OPCODE   32
#define EXECPORT_OPCODE   33
#define INPUTPORT_OPCODE   34
#define OUTPUTPORT_OPCODE   35
#define PUT_OPCODE   36
#define CLOSEINPUT_OPCODE   37
#define CLOSEOUTPUT_OPCODE   38
#define CLOSEPORT_OPCODE   39
#define EXEC_OPCODE   40
#define IF_STMT_OPCODE   41
#define CASE_OPCODE   42
#define WHILE_OPCODE   43
#define BREAK_OPCODE   44
#define EXIT_OPCODE   45
#define IF_OPCODE   46
#define ELSEIF_OPCODE   47
#define ELSE_OPCODE   48
#define MATCHLIST_OPCODE   49
#define DEFAULT_OPCODE   50
#define NUMBER_OF_OPCODES   51

Typedefs

typedef _Node Node

Functions

void node_DestroyAllNodes ()
Nodenode_create_string_constant ()
Nodenode_create_noary ()
Nodenode_create_unary ()
Nodenode_create_binary ()
Nodereverse_list_of_nodes ()


Define Documentation

#define AND_OPCODE   5
 

Definition at line 23 of file node.h.

Referenced by eval_expr(), and yyparse().

#define APPENDPORT_OPCODE   32
 

Definition at line 58 of file node.h.

Referenced by yyparse().

#define BREAK_OPCODE   44
 

Definition at line 72 of file node.h.

Referenced by yyparse().

#define BUFFER_OPCODE   11
 

Definition at line 30 of file node.h.

Referenced by eval_expr(), and yyparse().

#define CASE_OPCODE   42
 

Definition at line 70 of file node.h.

Referenced by yyparse().

#define CLEARBUF_OPCODE   31
 

Definition at line 56 of file node.h.

Referenced by yyparse().

#define CLOSEINPUT_OPCODE   37
 

Definition at line 63 of file node.h.

Referenced by yyparse().

#define CLOSEOUTPUT_OPCODE   38
 

Definition at line 64 of file node.h.

Referenced by yyparse().

#define CLOSEPORT_OPCODE   39
 

Definition at line 65 of file node.h.

Referenced by yyparse().

#define DEFAULT_OPCODE   50
 

Definition at line 79 of file node.h.

Referenced by yyparse().

#define DOWNCASE_OPCODE   17
 

Definition at line 37 of file node.h.

Referenced by eval_expr(), and yyparse().

#define ELSE_OPCODE   48
 

Definition at line 77 of file node.h.

Referenced by yyparse().

#define ELSEIF_OPCODE   47
 

Definition at line 76 of file node.h.

Referenced by yyparse().

#define EQ_OPCODE   7
 

Definition at line 25 of file node.h.

Referenced by eval_expr(), and yyparse().

#define EXEC_OPCODE   40
 

Definition at line 67 of file node.h.

Referenced by yyparse().

#define EXECPORT_OPCODE   33
 

Definition at line 59 of file node.h.

Referenced by yyparse().

#define EXIT_OPCODE   45
 

Definition at line 73 of file node.h.

Referenced by yyparse().

#define FIELDS_OPCODE   29
 

Definition at line 53 of file node.h.

Referenced by yyparse().

#define GET_OPCODE   19
 

Definition at line 39 of file node.h.

Referenced by eval_expr(), and yyparse().

#define GETENV_OPCODE   15
 

Definition at line 35 of file node.h.

Referenced by eval_expr(), and yyparse().

#define IF_OPCODE   46
 

Definition at line 75 of file node.h.

Referenced by yyparse().

#define IF_STMT_OPCODE   41
 

Definition at line 69 of file node.h.

Referenced by yyparse().

#define INPUTPORT_OPCODE   34
 

Definition at line 60 of file node.h.

Referenced by yyparse().

#define JVAR_OPCODE   18
 

Definition at line 38 of file node.h.

Referenced by eval_expr(), and yyparse().

#define LANY_OPCODE   20
 

Definition at line 41 of file node.h.

Referenced by eval_expr(), and yyparse().

#define LAST_EXPR_OPCODE   26
 

Definition at line 49 of file node.h.

#define LBREAK_OPCODE   22
 

Definition at line 43 of file node.h.

Referenced by eval_expr(), and yyparse().

#define LSPAN_OPCODE   24
 

Definition at line 45 of file node.h.

Referenced by eval_expr(), and yyparse().

#define MATCHLIST_OPCODE   49
 

Definition at line 78 of file node.h.

Referenced by yyparse().

#define NEQ_OPCODE   8
 

Definition at line 26 of file node.h.

Referenced by eval_expr(), and yyparse().

#define NOOP_OPCODE   27
 

Definition at line 51 of file node.h.

Referenced by yyparse().

#define NOT_OPCODE   3
 

Definition at line 20 of file node.h.

Referenced by eval_expr(), and yyparse().

#define NUMBER_OF_OPCODES   51
 

Definition at line 81 of file node.h.

#define OR_OPCODE   6
 

Definition at line 24 of file node.h.

Referenced by eval_expr(), and yyparse().

#define OUTPUTPORT_OPCODE   35
 

Definition at line 61 of file node.h.

Referenced by yyparse().

#define PARAGRAPH_OPCODE   26
 

Definition at line 47 of file node.h.

Referenced by eval_expr(), and yyparse().

#define PLUS_OPCODE   4
 

Definition at line 22 of file node.h.

Referenced by eval_expr(), and yyparse().

#define PRINT_OPCODE   30
 

Definition at line 55 of file node.h.

Referenced by yyparse().

#define PROTECT_OPCODE   13
 

Definition at line 33 of file node.h.

Referenced by eval_expr(), and yyparse().

#define PUT_OPCODE   36
 

Definition at line 62 of file node.h.

Referenced by yyparse().

#define RANY_OPCODE   21
 

Definition at line 42 of file node.h.

Referenced by eval_expr(), and yyparse().

#define RBREAK_OPCODE   23
 

Definition at line 44 of file node.h.

Referenced by eval_expr(), and yyparse().

#define REGEQ_OPCODE   9
 

Definition at line 27 of file node.h.

Referenced by eval_expr(), and yyparse().

#define REGNEQ_OPCODE   10
 

Definition at line 28 of file node.h.

Referenced by eval_expr(), and yyparse().

#define RSPAN_OPCODE   25
 

Definition at line 46 of file node.h.

Referenced by eval_expr(), and yyparse().

#define SET_OPCODE   28
 

Definition at line 52 of file node.h.

Referenced by yyparse().

#define STRING_CONSTANT_OPCODE   0
 

Definition at line 16 of file node.h.

Referenced by eval_expr(), and yyparse().

#define SUBSTITUTE_OPCODE   12
 

Definition at line 32 of file node.h.

Referenced by eval_expr(), and yyparse().

#define UPCASE_OPCODE   16
 

Definition at line 36 of file node.h.

Referenced by eval_expr(), and yyparse().

#define VARNAME_OPCODE   2
 

Definition at line 18 of file node.h.

Referenced by yyparse().

#define VARREF_OPCODE   1
 

Definition at line 17 of file node.h.

Referenced by eval_expr(), and yyparse().

#define VERBATIM_OPCODE   14
 

Definition at line 34 of file node.h.

Referenced by eval_expr(), and yyparse().

#define WHILE_OPCODE   43
 

Definition at line 71 of file node.h.

Referenced by yyparse().


Typedef Documentation

typedef struct _Node Node
 

Referenced by eval_bool_expr(), eval_expr(), exec_process_packet(), node_create_binary(), node_create_noary(), node_create_string_constant(), node_create_unary(), reverse_list_of_nodes(), and yyparse().


Function Documentation

Node* node_create_binary  ) 
 

Referenced by yyparse().

Node* node_create_noary  ) 
 

Referenced by yyparse().

Node* node_create_string_constant  ) 
 

Referenced by yyparse().

Node* node_create_unary  ) 
 

Referenced by yyparse().

void node_DestroyAllNodes  ) 
 

Definition at line 95 of file node.c.

References NODE_BATCH_SIZE.

Referenced by parse_buffer(), and parse_file().

00096 {
00097         struct _bunch_of_nodes *next_bunch;
00098         int i, last_node_used_in_this_bunch;
00099 
00100         while (nodes) {
00101                 next_bunch = nodes->next_bunch;
00102                 last_node_used_in_this_bunch = next_bunch ?
00103                         NODE_BATCH_SIZE - 1 : last_node_in_current_bunch_used;
00104                 for (i = 0; i <= last_node_used_in_this_bunch; i++) {
00105                         if (nodes->nodes[i].opcode == STRING_CONSTANT_OPCODE)
00106                                 free(nodes->nodes[i].d.string_constant);
00107                         else if (nodes->nodes[i].opcode == VARREF_OPCODE)
00108                                 free(nodes->nodes[i].d.string_constant);
00109                         else if (nodes->nodes[i].opcode == VARNAME_OPCODE)
00110                                 free(nodes->nodes[i].d.string_constant);
00111                 }
00112                 free(nodes);
00113                 nodes = next_bunch;
00114         }
00115 
00116         current_bunch = nodes;
00117 }

Node* reverse_list_of_nodes  ) 
 

Referenced by yyparse().



Last updated at Tue Dec 18 21:07:42 PST 2007. This site and project hosted by...SourceForge.net Logo

Source Perspective by Fisheye