| 
    Kannel: Open Source WAP and SMS gateway
    svn-r5336
    
   | 
 
Go to the source code of this file.
Data Structures | |
| struct | WsListItemRec | 
| struct | WsListRec | 
| struct | WsNamespaceRec | 
| struct | WsPragmaUseRec | 
| struct | WsPragmaMetaBodyRec | 
| struct | WsFunctionRec | 
| struct | WsFunctionHashRec | 
| struct | WsExpressionRec | 
| struct | WsVarDecRec | 
| struct | WsFormalParmRec | 
| struct | WsStatementRec | 
Typedefs | |
| typedef struct WsListItemRec | WsListItem | 
| typedef struct WsListRec | WsList | 
| typedef struct WsNamespaceRec | WsNamespace | 
| typedef struct WsPragmaUseRec | WsPragmaUse | 
| typedef struct WsPragmaMetaBodyRec | WsPragmaMetaBody | 
| typedef struct WsFunctionRec | WsFunction | 
| typedef struct WsFunctionHashRec | WsFunctionHash | 
| typedef struct WsExpressionRec | WsExpression | 
| typedef struct WsVarDecRec | WsVarDec | 
| typedef struct WsFormalParmRec | WsFormalParm | 
| typedef struct WsStatementRec | WsStatement | 
| typedef struct WsExpressionRec WsExpression | 
| typedef struct WsFormalParmRec WsFormalParm | 
| typedef struct WsFunctionRec WsFunction | 
| typedef struct WsFunctionHashRec WsFunctionHash | 
| typedef struct WsListItemRec WsListItem | 
| typedef struct WsNamespaceRec WsNamespace | 
| typedef struct WsPragmaMetaBodyRec WsPragmaMetaBody | 
| typedef struct WsPragmaUseRec WsPragmaUse | 
| typedef struct WsStatementRec WsStatement | 
| typedef struct WsVarDecRec WsVarDec | 
| enum WsExpressionType | 
Definition at line 251 of file wsstree.h.
| enum WsStatementType | 
| Enumerator | |
|---|---|
| WS_STMT_BLOCK | |
| WS_STMT_VARIABLE | |
| WS_STMT_EMPTY | |
| WS_STMT_EXPR | |
| WS_STMT_IF | |
| WS_STMT_FOR | |
| WS_STMT_WHILE | |
| WS_STMT_CONTINUE | |
| WS_STMT_BREAK | |
| WS_STMT_RETURN | |
Definition at line 506 of file wsstree.h.
| WsExpression* ws_expr_assign | ( | WsCompilerPtr | compiler, | 
| WsUInt32 | line, | ||
| char * | identifier, | ||
| int | op, | ||
| WsExpression * | expr | ||
| ) | 
Definition at line 903 of file wsstree.c.
References WsExpressionRec::assign, expr_alloc(), WsCompilerRec::pool_stree, WsExpressionRec::u, ws_error_memory(), WS_EXPR_ASSIGN, ws_f_strdup(), and ws_lexer_free_block().
Referenced by yyparse().
| WsExpression* ws_expr_binary | ( | WsCompilerPtr | compiler, | 
| WsUInt32 | line, | ||
| int | type, | ||
| WsExpression * | left, | ||
| WsExpression * | right | ||
| ) | 
Definition at line 956 of file wsstree.c.
References WsExpressionRec::binary, expr_alloc(), type, WsExpressionRec::u, and WS_EXPR_BINARY.
Referenced by yyparse().
| WsExpression* ws_expr_call | ( | WsCompilerPtr | compiler, | 
| WsUInt32 | linenum, | ||
| int | type, | ||
| char * | base, | ||
| char * | name, | ||
| WsList * | arguments | ||
| ) | 
| WsExpression* ws_expr_comma | ( | WsCompilerPtr | compiler, | 
| WsUInt32 | line, | ||
| WsExpression * | left, | ||
| WsExpression * | right | ||
| ) | 
Definition at line 889 of file wsstree.c.
References WsExpressionRec::comma, expr_alloc(), WsExpressionRec::u, and WS_EXPR_COMMA.
Referenced by yyparse().
| WsExpression* ws_expr_conditional | ( | WsCompilerPtr | compiler, | 
| WsUInt32 | line, | ||
| WsExpression * | e_cond, | ||
| WsExpression * | e_then, | ||
| WsExpression * | e_else | ||
| ) | 
Definition at line 925 of file wsstree.c.
References WsExpressionRec::conditional, expr_alloc(), WsExpressionRec::u, and WS_EXPR_CONDITIONAL.
Referenced by yyparse().
| WsExpression* ws_expr_const_false | ( | WsCompilerPtr | compiler, | 
| WsUInt32 | linenum | ||
| ) | 
| WsExpression* ws_expr_const_float | ( | WsCompilerPtr | compiler, | 
| WsUInt32 | linenum, | ||
| WsFloat | fval | ||
| ) | 
| WsExpression* ws_expr_const_integer | ( | WsCompilerPtr | compiler, | 
| WsUInt32 | linenum, | ||
| WsUInt32 | ival | ||
| ) | 
| WsExpression* ws_expr_const_invalid | ( | WsCompilerPtr | compiler, | 
| WsUInt32 | linenum | ||
| ) | 
| WsExpression* ws_expr_const_string | ( | WsCompilerPtr | compiler, | 
| WsUInt32 | linenum, | ||
| WsUtf8String * | string | ||
| ) | 
| WsExpression* ws_expr_const_true | ( | WsCompilerPtr | compiler, | 
| WsUInt32 | linenum | ||
| ) | 
| void ws_expr_linearize | ( | WsCompilerPtr | compiler, | 
| WsExpression * | expr | ||
| ) | 
| WsExpression* ws_expr_logical | ( | WsCompilerPtr | compiler, | 
| WsUInt32 | line, | ||
| int | type, | ||
| WsExpression * | left, | ||
| WsExpression * | right | ||
| ) | 
Definition at line 941 of file wsstree.c.
References expr_alloc(), WsExpressionRec::logical, type, WsExpressionRec::u, and WS_EXPR_LOGICAL.
Referenced by yyparse().
| WsExpression* ws_expr_postfix_var | ( | WsCompilerPtr | compiler, | 
| WsUInt32 | line, | ||
| WsBool | addp, | ||
| char * | variable | ||
| ) | 
Definition at line 1010 of file wsstree.c.
References expr_alloc(), WsCompilerRec::pool_stree, WsExpressionRec::postfix_var, WsExpressionRec::u, ws_error_memory(), WS_EXPR_POSTFIX_VAR, ws_f_strdup(), and ws_lexer_free_block().
Referenced by yyparse().
| WsExpression* ws_expr_symbol | ( | WsCompilerPtr | compiler, | 
| WsUInt32 | linenum, | ||
| char * | identifier | ||
| ) | 
| WsExpression* ws_expr_unary | ( | WsCompilerPtr | compiler, | 
| WsUInt32 | line, | ||
| int | type, | ||
| WsExpression * | expr | ||
| ) | 
Definition at line 971 of file wsstree.c.
References expr_alloc(), WsExpressionRec::integer, type, WsExpressionRec::type, WsExpressionRec::u, WsExpressionRec::unary, WS_ASM_UMINUS, WS_EXPR_CONST_INTEGER, and WS_EXPR_UNARY.
Referenced by yyparse().
| WsExpression* ws_expr_unary_var | ( | WsCompilerPtr | compiler, | 
| WsUInt32 | line, | ||
| WsBool | addp, | ||
| char * | variable | ||
| ) | 
Definition at line 993 of file wsstree.c.
References expr_alloc(), WsCompilerRec::pool_stree, WsExpressionRec::u, WsExpressionRec::unary_var, ws_error_memory(), WS_EXPR_UNARY_VAR, ws_f_strdup(), and ws_lexer_free_block().
Referenced by yyparse().
| WsFormalParm* ws_formal_parameter | ( | WsCompilerPtr | compiler, | 
| WsUInt32 | line, | ||
| char * | name | ||
| ) | 
Definition at line 93 of file wsstree.c.
References parm::name, name, WsCompilerRec::pool_stree, ws_error_memory(), and ws_f_malloc().
Referenced by yyparse().
| void ws_function | ( | WsCompilerPtr | compiler, | 
| WsBool | externp, | ||
| char * | name, | ||
| WsUInt32 | line, | ||
| WsList * | params, | ||
| WsList * | block | ||
| ) | 
| WsFunctionHash* ws_function_hash | ( | WsCompilerPtr | compiler, | 
| char * | name | ||
| ) | 
Definition at line 318 of file wsstree.c.
References WsCompilerRec::functions_hash, name, ws_calloc(), ws_error_memory(), ws_free(), ws_hash_get(), and ws_hash_put().
Referenced by compile_stream(), ws_expr_linearize(), ws_function(), and yyparse().
| WsHashPtr ws_function_hash_create | ( | void | ) | 
Definition at line 312 of file wsstree.c.
References function_hash_destructor(), and ws_hash_create().
Referenced by compile_stream().
| void ws_list_append | ( | WsCompilerPtr | compiler, | 
| WsList * | list, | ||
| void * | value | ||
| ) | 
| WsList* ws_list_new | ( | WsCompilerPtr | compiler | ) | 
| WsPragmaMetaBody* ws_pragma_meta_body | ( | WsCompilerPtr | compiler, | 
| WsUtf8String * | property_name, | ||
| WsUtf8String * | content, | ||
| WsUtf8String * | scheme | ||
| ) | 
Definition at line 271 of file wsstree.c.
References content, WsPragmaMetaBodyRec::content, WsPragmaMetaBodyRec::property_name, WsPragmaMetaBodyRec::scheme, ws_calloc(), and ws_error_memory().
Referenced by yyparse().
| void ws_pragma_meta_body_free | ( | WsCompilerPtr | compiler, | 
| WsPragmaMetaBody * | mb | ||
| ) | 
Definition at line 291 of file wsstree.c.
References WsPragmaMetaBodyRec::content, WsPragmaMetaBodyRec::property_name, WsPragmaMetaBodyRec::scheme, ws_free(), and ws_lexer_free_utf8().
Referenced by yyparse().
| void ws_pragma_use | ( | WsCompilerPtr | compiler, | 
| WsUInt32 | line, | ||
| char * | identifier, | ||
| WsUtf8String * | url | ||
| ) | 
Definition at line 220 of file wsstree.c.
References WsCompilerRec::bc, Octstr::data, error(), Octstr::len, WsPragmaUseRec::line, WsCompilerRec::pragma_use_hash, url, WsPragmaUseRec::urlindex, ws_bc_add_const_utf8_string(), ws_calloc(), ws_error_memory(), ws_free(), ws_hash_get(), ws_hash_put(), ws_lexer_free_block(), ws_lexer_free_utf8(), and ws_src_error().
Referenced by yyparse().
| WsHashPtr ws_pragma_use_hash_create | ( | void | ) | 
Definition at line 214 of file wsstree.c.
References pragma_use_hash_destructor(), and ws_hash_create().
Referenced by compile_stream().
| WsStatement* ws_stmt_block | ( | WsCompilerPtr | compiler, | 
| WsUInt32 | first_line, | ||
| WsUInt32 | last_line, | ||
| WsList * | block | ||
| ) | 
| WsStatement* ws_stmt_break | ( | WsCompilerPtr | compiler, | 
| WsUInt32 | line | ||
| ) | 
| WsStatement* ws_stmt_continue | ( | WsCompilerPtr | compiler, | 
| WsUInt32 | line | ||
| ) | 
| WsStatement* ws_stmt_empty | ( | WsCompilerPtr | compiler, | 
| WsUInt32 | line | ||
| ) | 
| WsStatement* ws_stmt_expr | ( | WsCompilerPtr | compiler, | 
| WsUInt32 | line, | ||
| WsExpression * | expr | ||
| ) | 
| WsStatement* ws_stmt_for | ( | WsCompilerPtr | compiler, | 
| WsUInt32 | line, | ||
| WsList * | init, | ||
| WsExpression * | e1, | ||
| WsExpression * | e2, | ||
| WsExpression * | e3, | ||
| WsStatement * | stmt | ||
| ) | 
Definition at line 1447 of file wsstree.c.
References init, WsStatementRec::s_for, stmt_alloc(), WsStatementRec::u, and WS_STMT_FOR.
Referenced by yyparse().
| WsStatement* ws_stmt_if | ( | WsCompilerPtr | compiler, | 
| WsUInt32 | line, | ||
| WsExpression * | expr, | ||
| WsStatement * | s_then, | ||
| WsStatement * | s_else | ||
| ) | 
| void ws_stmt_linearize | ( | WsCompilerPtr | compiler, | 
| WsStatement * | stmt | ||
| ) | 
| WsStatement* ws_stmt_return | ( | WsCompilerPtr | compiler, | 
| WsUInt32 | line, | ||
| WsExpression * | expr | ||
| ) | 
Definition at line 1491 of file wsstree.c.
References WsStatementRec::expr, stmt_alloc(), WsStatementRec::u, and WS_STMT_RETURN.
Referenced by yyparse().
| WsStatement* ws_stmt_variable | ( | WsCompilerPtr | compiler, | 
| WsUInt32 | line, | ||
| WsList * | variables | ||
| ) | 
Definition at line 1401 of file wsstree.c.
References stmt_alloc(), WsStatementRec::u, WsStatementRec::var, and WS_STMT_VARIABLE.
Referenced by yyparse().
| WsStatement* ws_stmt_while | ( | WsCompilerPtr | compiler, | 
| WsUInt32 | line, | ||
| WsExpression * | expr, | ||
| WsStatement * | stmt | ||
| ) | 
| WsVarDec* ws_variable_declaration | ( | WsCompilerPtr | compiler, | 
| char * | name, | ||
| WsExpression * | expr | ||
| ) | 
Definition at line 78 of file wsstree.c.
References WsVarDecRec::expr, name, WsVarDecRec::name, WsCompilerRec::pool_stree, ws_error_memory(), and ws_f_malloc().
Referenced by yyparse().
| WsNamespace* ws_variable_define | ( | WsCompilerPtr | compiler, | 
| WsUInt32 | line, | ||
| WsBool | variablep, | ||
| char * | name | ||
| ) | 
Definition at line 160 of file wsstree.c.
References WsNamespaceRec::line, name, WsCompilerRec::next_vindex, WsCompilerRec::variables_hash, WsNamespaceRec::vindex, ws_calloc(), ws_error_memory(), ws_free(), ws_hash_get(), ws_hash_put(), and ws_src_error().
Referenced by compile_stream(), and linearize_variable_init().
| WsHashPtr ws_variable_hash_create | ( | void | ) | 
Definition at line 154 of file wsstree.c.
References variable_hash_destructor(), and ws_hash_create().
Referenced by compile_stream().
| WsNamespace* ws_variable_lookup | ( | WsCompilerPtr | compiler, | 
| char * | name | ||
| ) | 
Definition at line 199 of file wsstree.c.
References name, WsCompilerRec::variables_hash, and ws_hash_get().
Referenced by ws_expr_linearize().