CWB
|
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include "../cl/globals.h"
#include "../cl/macros.h"
#include "../cl/attributes.h"
#include "../cl/cdaccess.h"
#include "builtins.h"
#include "eval.h"
#include "options.h"
#include "output.h"
Functions | |
char * | attat_name (int type) |
Gets a string containing the name of the specified argument type. More... | |
int | find_predefined (char *name) |
Gets the identifier of a specified predefined function (index into the global array of info about the "builtins"). More... | |
int | is_predefined_function (char *name) |
Checks whether a string is the name of a predefined function. More... | |
int | common_prefix_length (char *s, char *t) |
Calculates the length of a prefix shared by two strings. More... | |
int | call_predefined_function (int bf_id, DynCallResult *apl, int nr_args, Constrainttree ctptr, DynCallResult *result) |
Calls a predefined function from the builtin_function array. More... | |
Variables | |
int | f_args [] = {ATTAT_STRING} |
Argument types for builtin function f. More... | |
int | distance_args [] = {ATTAT_POS, ATTAT_POS} |
Argument types for builtin function distance (or dist) More... | |
int | distabs_args [] = {ATTAT_POS, ATTAT_POS} |
Argument types for builtin function distabs. More... | |
int | bound_args [] = {ATTAT_INT} |
Argument types for builtin functions lbound and rbound. More... | |
int | unify_args [] = {ATTAT_STRING, ATTAT_STRING} |
Argument types for builtin functions unify, prefix, is_prefix, minus. More... | |
int | ambiguity_args [] = {ATTAT_STRING} |
Argument types for builtin function ambiguity. More... | |
int | string_arg [] = {ATTAT_STRING} |
Argument types for builtin functions taking a single string argument. More... | |
int | arith_args [] = {ATTAT_INT, ATTAT_INT} |
Argument types for builtin arithemtical functions. More... | |
int | ignore_args [] = {ATTAT_POS} |
Argument types for builtin function ignore. More... | |
BuiltinF | builtin_function [] |
Global array of built-in functions. More... | |
char* attat_name | ( | int | type | ) |
Gets a string containing the name of the specified argument type.
type | One of the ATTAT_x constants (an argument type). |
References ATTAT_FLOAT, ATTAT_INT, ATTAT_NONE, ATTAT_PAREF, ATTAT_POS, ATTAT_STRING, and ATTAT_VAR.
Referenced by call_predefined_function().
int call_predefined_function | ( | int | bf_id, |
DynCallResult * | apl, | ||
int | nr_args, | ||
Constrainttree | ctptr, | ||
DynCallResult * | result | ||
) |
Calls a predefined function from the builtin_function array.
bf_id | The function to call, identified as an index to the builtin_function array. |
apl | Contains the arguments to this function. |
nr_args | The number of arguments the function takes. |
ctptr | A constraint tree used in some (but not all) of the builtin functions. |
result | Where to put the result of calling the function. |
References c_tree::args, ATTAT_INT, attat_name(), ATTAT_NONE, ATTAT_PAREF, ATTAT_POS, ATTAT_STRING, c_tree::attr, CDA_OK, cderrno, _DCR::charres, CL_DYN_STRING_SIZE, cl_set_intersection(), cl_set_size(), common_prefix_length(), cqpmessage(), _DCR::dynamic_string_buffer, Error, False, c_tree::func, get_id_frequency, get_id_of_string, get_string_of_id, _DCR::intres, pa_ref, c_tree::pa_ref, _ActualParamList::param, _DCR::parefres, sa_ref, c_tree::sa_ref, True, c_tree::type, _DCR::type, and _DCR::value.
Referenced by get_leaf_value().
int common_prefix_length | ( | char * | s, |
char * | t | ||
) |
Calculates the length of a prefix shared by two strings.
s | The first string. |
t | The second string. |
Referenced by call_predefined_function().
int find_predefined | ( | char * | name | ) |
Gets the identifier of a specified predefined function (index into the global array of info about the "builtins").
Returns -1 if the function is not found.
name | The name of the function to search for. |
References _builtinf::name.
Referenced by FunctionCall(), and is_predefined_function().
int is_predefined_function | ( | char * | name | ) |
Checks whether a string is the name of a predefined function.
name | The name of the function to search for. |
References find_predefined().
int ambiguity_args[] = {ATTAT_STRING} |
Argument types for builtin function ambiguity.
int bound_args[] = {ATTAT_INT} |
Argument types for builtin functions lbound and rbound.
BuiltinF builtin_function[] |
Global array of built-in functions.
Referenced by FunctionCall(), and print_booltree().
int f_args[] = {ATTAT_STRING} |
Argument types for builtin function f.
int ignore_args[] = {ATTAT_POS} |
Argument types for builtin function ignore.
int string_arg[] = {ATTAT_STRING} |
Argument types for builtin functions taking a single string argument.
int unify_args[] = {ATTAT_STRING, ATTAT_STRING} |
Argument types for builtin functions unify, prefix, is_prefix, minus.