Structures for AEL - the Asterisk extension language. More...
#include "asterisk/paths.h"
#include "pval.h"
Go to the source code of this file.
Data Structures | |
struct | ael_extension |
struct | ael_priority |
struct | parse_io |
Defines | |
#define | QUAD_MAX (0x7fffffffffffffffLL) |
#define | QUAD_MIN (-0x7fffffffffffffffLL-1) |
Typedefs | |
typedef void * | yyscan_t |
Enumerations | |
enum | ael_priority_type { AEL_APPCALL, AEL_CONTROL1, AEL_FOR_CONTROL, AEL_IF_CONTROL, AEL_IFTIME_CONTROL, AEL_RAND_CONTROL, AEL_LABEL, AEL_RETURN } |
Functions | |
struct pval * | ael2_parse (char *fname, int *errs) |
void | ael2_print (char *fname, pval *tree) |
void | ael2_semantic_check (pval *item, int *errs, int *warns, int *notes) |
void | destroy_pval (pval *item) |
pval * | linku1 (pval *head, pval *tail) |
pval * | npval (pvaltype type, int first_line, int last_line, int first_column, int last_column) |
Variables | |
char * | prev_word |
Structures for AEL - the Asterisk extension language.
Definition in file ael_structs.h.
#define QUAD_MAX (0x7fffffffffffffffLL) |
Definition at line 54 of file ael_structs.h.
#define QUAD_MIN (-0x7fffffffffffffffLL-1) |
Definition at line 51 of file ael_structs.h.
Referenced by chk_div(), and chk_minus().
typedef void* yyscan_t |
Definition at line 71 of file ael_structs.h.
enum ael_priority_type |
AEL_APPCALL | |
AEL_CONTROL1 | |
AEL_FOR_CONTROL | |
AEL_IF_CONTROL | |
AEL_IFTIME_CONTROL | |
AEL_RAND_CONTROL | |
AEL_LABEL | |
AEL_RETURN |
Definition at line 84 of file ael_structs.h.
struct pval* ael2_parse | ( | char * | fname, | |
int * | errs | |||
) | [read] |
Referenced by pbx_load_module().
void ael2_print | ( | char * | fname, | |
pval * | tree | |||
) |
Definition at line 385 of file pval.c.
References ast_log(), LOG_ERROR, and print_pval_list().
00386 { 00387 FILE *fin = fopen(fname,"w"); 00388 if ( !fin ) { 00389 ast_log(LOG_ERROR, "Couldn't open %s for writing.\n", fname); 00390 return; 00391 } 00392 print_pval_list(fin, tree, 0); 00393 fclose(fin); 00394 }
void ael2_semantic_check | ( | pval * | item, | |
int * | errs, | |||
int * | warns, | |||
int * | notes | |||
) |
Definition at line 2893 of file pval.c.
References ast_alloca, ast_config_AST_VAR_DIR, check_context_names(), and check_pval().
Referenced by pbx_load_module().
02894 { 02895 02896 #ifdef AAL_ARGCHECK 02897 int argapp_errs =0; 02898 char *rfilename; 02899 #endif 02900 struct argapp *apps=0; 02901 02902 if (!item) 02903 return; /* don't check an empty tree */ 02904 #ifdef AAL_ARGCHECK 02905 rfilename = ast_alloca(10 + strlen(ast_config_AST_VAR_DIR)); 02906 sprintf(rfilename, "%s/applist", ast_config_AST_VAR_DIR); 02907 02908 apps = argdesc_parse(rfilename, &argapp_errs); /* giveth */ 02909 #endif 02910 current_db = item; 02911 errs = warns = notes = 0; 02912 02913 check_context_names(); 02914 check_pval(item, apps, 0); 02915 02916 #ifdef AAL_ARGCHECK 02917 argdesc_destroy(apps); /* taketh away */ 02918 #endif 02919 current_db = 0; 02920 02921 *arg_errs = errs; 02922 *arg_warns = warns; 02923 *arg_notes = notes; 02924 }
void destroy_pval | ( | pval * | item | ) |
Definition at line 4980 of file pval.c.
Referenced by destroy_pval_item(), pbx_load_module(), yydestruct(), and yyparse().
04981 { 04982 pval *i,*nxt; 04983 04984 for (i=item; i; i=nxt) { 04985 nxt = i->next; 04986 04987 destroy_pval_item(i); 04988 } 04989 }
Definition at line 5927 of file pval.c.
Referenced by pvalAppCallAddArg(), pvalCasePatDefAddStatement(), pvalContextAddStatement(), pvalESwitchesAddSwitch(), pvalGlobalsAddStatement(), pvalIncludesAddInclude(), pvalIncludesAddIncludeWithTimeConstraints(), pvalMacroAddArg(), pvalMacroAddStatement(), pvalMacroCallAddArg(), pvalStatementBlockAddStatement(), pvalSwitchAddCase(), pvalSwitchesAddSwitch(), pvalTopLevAddObject(), and yyparse().
05928 { 05929 if (!head) 05930 return tail; 05931 if (tail) { 05932 if (!head->next) { 05933 head->next = tail; 05934 } else { 05935 head->u1_last->next = tail; 05936 } 05937 head->u1_last = tail; 05938 tail->prev = head; /* the dad link only points to containers */ 05939 } 05940 return head; 05941 }
struct pval * npval | ( | pvaltype | type, | |
int | first_line, | |||
int | last_line, | |||
int | first_column, | |||
int | last_column | |||
) | [read] |
Definition at line 3966 of file ael.tab.c.
References calloc, pval::endcol, pval::endline, pval::filename, S_OR, pval::startcol, pval::startline, strdup, and pval::type.
char* prev_word |
Definition at line 874 of file ael_lex.c.
Referenced by yydestruct(), and yyparse().