![]() |
![]() |
![]() |
PHOEBE Reference Manual | ![]() |
---|---|---|---|---|
enum PHOEBE_node_type; PHOEBE_ast; PHOEBE_ast_value; PHOEBE_ast_list; PHOEBE_ast_list* phoebe_ast_construct_list (PHOEBE_ast *ast, PHOEBE_ast_list *list); PHOEBE_ast_list* phoebe_ast_list_reverse (PHOEBE_ast_list *c, PHOEBE_ast_list *p); int phoebe_ast_list_length (PHOEBE_ast_list *list); PHOEBE_ast* phoebe_ast_add_index (int idx); PHOEBE_ast* phoebe_ast_add_numval (double numval); PHOEBE_ast* phoebe_ast_add_builtin (char *builtin); PHOEBE_ast* phoebe_ast_add_parameter (char *qualifier); PHOEBE_ast* phoebe_ast_add_node (PHOEBE_node_type type, PHOEBE_ast_list *args); PHOEBE_ast* phoebe_ast_duplicate (PHOEBE_ast *ast); PHOEBE_ast_value phoebe_ast_evaluate (PHOEBE_ast *ast); int phoebe_ast_print (int depth, PHOEBE_ast *in); int phoebe_ast_free (PHOEBE_ast *ast); int phoebe_constraint_new (const char *constraint); char* phoebe_constraint_get_qualifier (PHOEBE_ast *constraint); int phoebe_constraint_satisfy_all (); int phoebe_free_constraints (); int pcparse (void);
typedef enum { PHOEBE_NODE_TYPE_CONSTRAINT, PHOEBE_NODE_TYPE_PARAMETER, PHOEBE_NODE_TYPE_ADD, PHOEBE_NODE_TYPE_SUB, PHOEBE_NODE_TYPE_MUL, PHOEBE_NODE_TYPE_DIV, PHOEBE_NODE_TYPE_POT, PHOEBE_NODE_TYPE_BUILTIN } PHOEBE_node_type;
typedef struct { enum { PHOEBE_AST_INDEX, PHOEBE_AST_NUMVAL, PHOEBE_AST_STRING, PHOEBE_AST_PARAMETER, PHOEBE_AST_NODE } type; union { int idx; double numval; char *str; struct { PHOEBE_node_type type; struct PHOEBE_ast_list *args; } node; } val; } PHOEBE_ast;
typedef struct { enum { PHOEBE_AST_VALUE_VOID, PHOEBE_AST_VALUE_INT, PHOEBE_AST_VALUE_DOUBLE, PHOEBE_AST_VALUE_STRING, PHOEBE_AST_VALUE_PARAMETER } type; union { int idx; double numval; char *str; } val; } PHOEBE_ast_value;
PHOEBE_ast_list* phoebe_ast_construct_list (PHOEBE_ast *ast, PHOEBE_ast_list *list);
|
|
|
|
Returns : |
PHOEBE_ast_list* phoebe_ast_list_reverse (PHOEBE_ast_list *c, PHOEBE_ast_list *p);
|
|
|
|
Returns : |
PHOEBE_ast* phoebe_ast_add_parameter (char *qualifier);
|
|
Returns : |
PHOEBE_ast* phoebe_ast_add_node (PHOEBE_node_type type, PHOEBE_ast_list *args);
|
|
|
|
Returns : |
char* phoebe_constraint_get_qualifier (PHOEBE_ast *constraint);
|
|
Returns : |
a newly allocated qualifier that appears in the constraint. |