irods
4.2.8
About: iRODS (the integrated Rule Oriented Data System) is a distributed data-management system for creating data grids, digital libraries, persistent archives, and real-time data systems. Fossies Dox: irods-4.2.8.tar.gz ("unofficial" and yet experimental doxygen-generated source code documentation) 
|
Go to the documentation of this file.
39 return strcmp( a->
text,
b->text ) == 0;
73 if ( exist !=
NULL ) {
260 if ( elemType ==
NULL ) {
263 subtrees[i] = elemType;
272 if ( strcmp(
type->text, expected->
text ) != 0 ) {
299 snprintf(
name, 128,
"?%d", vid );
304 snprintf(
name, 128,
"?%d", vid );
359 char *strCp = (
char * )
region_alloc( r, ( strlen( str ) + 1 ) *
sizeof( char ) );
360 strcpy( strCp, str );
387 for ( i = 0; i <
env->size; i++ ) {
389 while (
b !=
NULL ) {
470 for ( i = 0; i <
env->size; i++ ) {
472 while (
b !=
NULL ) {
489 for ( i = 0; i < n; i++ ) {
498 while (
e !=
NULL ) {
511 for ( i = 0; i < n->
degree; i++ ) {
526 snprintf(
buf + strlen(
buf ), bufsize - strlen(
buf ),
"vararg " );
536 snprintf(
buf + strlen(
buf ), bufsize - strlen(
buf ),
"%d",
T_VAR_ID( etype ) );
538 snprintf(
buf + strlen(
buf ), bufsize - strlen(
buf ),
"{" );
543 snprintf(
buf + strlen(
buf ), bufsize - strlen(
buf ),
"}" );
547 if ( strcmp( etype->
text,
FUNC ) == 0 ) {
548 snprintf(
buf + strlen(
buf ), bufsize - strlen(
buf ),
"(" );
550 snprintf(
buf + strlen(
buf ), bufsize - strlen(
buf ),
")" );
551 snprintf(
buf + strlen(
buf ), bufsize - strlen(
buf ),
"->" );
559 snprintf(
buf + strlen(
buf ), bufsize - strlen(
buf ),
"(" );
562 snprintf(
buf + strlen(
buf ), bufsize - strlen(
buf ),
", " );
566 snprintf(
buf + strlen(
buf ), bufsize - strlen(
buf ),
")" );
577 snprintf(
buf + strlen(
buf ), bufsize - strlen(
buf ),
"=> " );
582 snprintf(
buf + strlen(
buf ), bufsize - strlen(
buf ),
"unit" );
586 snprintf(
buf + strlen(
buf ), bufsize - strlen(
buf ),
"(" );
591 snprintf(
buf + strlen(
buf ), bufsize - strlen(
buf ),
" * " );
596 snprintf(
buf + strlen(
buf ), bufsize - strlen(
buf ),
")" );
604 int i = strlen(
buf ) - 1;
605 while (
buf[i] ==
' ' ) {
619 while (
p !=
NULL ) {
620 snprintf(
buf + strlen(
buf ), bufsize - strlen(
buf ),
"%s<%s\n",
632 if ( deref ==
NULL ) {
651 if ( typeInst ==
type ) {
655 return instantiate( typeInst, type_table, replaceFreeVars, r );
658 if (
type->degree != 0 ) {
660 for ( i = 0; i <
type->degree; i++ ) {
661 paramTypes[i] =
instantiate(
type->subtrees[i], type_table, replaceFreeVars, r );
662 if ( paramTypes[i] !=
type->subtrees[i] ) {
683 snprintf(
buf,
sizeof(
buf ),
"/tmp/%s", fileName );
684 FILE *fp = fopen(
buf,
"a" );
694 snprintf(
buf, 1024,
"%d", text );
702 while (
e !=
NULL ) {
704 printf(
"%s\n===========\n",
buffer );
723 for ( i = 0; i <
env->size; i++ ) {
725 while (
b !=
NULL ) {
726 printf(
"%s=",
b->key );
770 if ( system !=
NULL ) {
784 for ( i = errmsg->
len - 1; i >= 0; i-- ) {
786 if ( first || restart ) {
796 p += strlen( errbuf +
p );
798 if ( !first && !restart ) {
799 snprintf( errbuf +
p, buflen -
p,
"caused by: %s\n", errmsg->
errMsg[i]->
msg );
802 snprintf( errbuf +
p, buflen -
p,
"%s\n", errmsg->
errMsg[i]->
msg );
807 p += strlen( errbuf +
p );
828 if (
NULL != defined ) {
840 for ( i = 0; i < ht->
size; i++ ) {
842 while (
b !=
NULL ) {
855 if (
e->previous !=
NULL ) {
863 for ( i = 0; i < pattern->
degree; i++ ) {
891 if ( strcmp( expr->
text, fn ) == 0 ) {
899 for ( i = 0; i < expr->
degree; i++ ) {
913 for ( i = 0; i < metadata->
degree; i++ ) {
925 while ( *
p !=
'\0' ) {
928 if ( *
p ==
'#' && *(
p + 1 ) ==
'#' ) {
931 else if ( *
p ==
'#' ) {
934 else if ( *
p ==
'\'' ) {
937 else if ( *
p ==
'\"' ) {
940 else if ( *
p ==
'`' ) {
956 else if ( *
p ==
'\'' ) {
967 else if ( *
p ==
'\"' ) {
972 if ( *
p ==
'`' && *(
p + 1 ) ==
'`' ) {
993 int len = snprintf(
p,
KEY_SIZE,
"node::%d::%p::%lld::%p::%d::%s::%s::%d::%f::%lld::%p::%p::%p",
1007 for ( i = 0; i <
size; i++ ) {
1008 *(
p++ ) =
'A' + (
buf[i] & (
unsigned char ) 0xf );
1009 *(
p++ ) =
'A' + (
buf[i] & (
unsigned char ) 0xf0 );
1036 #ifdef RE_CACHE_CHECK
1037 #include "cache.check.instance.hpp"
1042 #ifdef RE_REGION_CHECK
void rodsLog(int level, const char *formatStr,...)
ExprType * unifyTVarR(ExprType *type, ExprType *expected, Hashtable *varTypes, Region *r)
void cpHashtable(Hashtable *env, Region *r)
void cpHashtable2(Hashtable *env, Region *oldr, Region *r)
void * region_alloc(Region *r, size_t s)
int isPattern(Node *pattern)
#define T_VAR_DISJUNCTS(x)
void keyNode(Node *node, char *keyBuf)
void cpEnv2(Env *env, Region *oldr, Region *r)
ExprType * instantiate(ExprType *type, Hashtable *type_table, int replaceFreeVars, Region *r)
Region * make_region(size_t is, jmp_buf *label)
ExprType * dupTypeAux(ExprType *ty, Region *r, Hashtable *varTable)
char * typeToString(ExprType *type, Hashtable *var_types, char *buf, int bufsize)
#define T_VAR_DISJUNCT(x, n)
void printHashtable(Hashtable *env, char *buf2)
#define RES_UNINTER_BUFFER(x)
char * getTVarNameRegionFromExprType(ExprType *tvar, Region *r)
char * cpString(char *str, Region *r)
char * getTVarName(int vid, char name[128])
void printType(ExprType *type, Hashtable *var_types)
int occursIn(ExprType *var, ExprType *type)
ExprType * unifyTVarL(ExprType *type, ExprType *expected, Hashtable *varTypes, Region *r)
Hashtable * newHashTable2(int size, Region *r)
#define cpRes2(p, oldr, r)
void rodsLogAndErrorMsg(int level, rError_t *myError, int status, const char *formatStr,...)
Node * newExprType(NodeType t, int degree, Node **subtrees, Region *r)
void freeEnvUninterpretedStructs(Env *e)
void keyBuf(unsigned char *buf, int size, char *keyBuf)
int writeToTmp(char *fileName, char *text)
void printEnvToStdOut(Env *env)
ExprType * unifyWith(ExprType *type, ExprType *expected, Hashtable *varTypes, Region *r)
Node * lookupAVUFromMetadata(Node *metadata, char *a)
ExprType * dupType(ExprType *ty, Region *r)
int isRuleGenSyntax(char *expr)
ExprType * newSimpType(NodeType t, Region *r)
int insertIntoHashTable(Hashtable *h, const char *key, const void *value)
int invokedIn(char *fn, Node *expr)
const void * lookupFromEnv(Env *env, const char *key)
void cpEnv(Env *env, Region *r)
int writeIntToTmp(char *fileName, int text)
Env * globalEnv(Env *env)
const void * lookupFromHashTable(Hashtable *h, const char *key)
#define OPTION_VARARG_ONCE
#define RES_UNINTER_STRUCT(x)
int coercible(ExprType *a, ExprType *b)
def indent(*text, **kwargs)
void logErrMsg(rError_t *errmsg, rError_t *system)
ExprType * dereference(ExprType *type, Hashtable *type_table, Region *r)
const void * updateInHashTable(Hashtable *h, const char *key, const void *value)
void updateInEnv(Env *env, char *varName, Res *res)
ExprType * newTVar2(int numDisjuncts, Node **disjuncts, Region *r)
#define T_VAR_NUM_DISJUNCTS(x)
void printEnvIndent(Env *env)
ExprType * newTupleType(int arity, ExprType **typeArgs, Region *r)
void region_free(Region *r)
ExprType * newConsType(int arity, char *cons, ExprType **paramTypes, Region *r)
RuleIndexList * ruleIndexList
ExprType * newErrorType(int errcode, Region *r)
int isRecursive(Node *rule)
char * typeName_ExprType(ExprType *s)
void printTreeDeref(Node *n, int indent, Hashtable *var_types, Region *r)
void typingConstraintsToString(List *typingConstraints, char *buf, int bufsize)
char * cpStringExt(const char *str, Region *r)
char * cpString2(char *str, Region *oldr, Region *r)
void printVarTypeEnvToStdOut(Hashtable *env)
char * getTVarNameRegion(int vid, Region *r)
#define T_CONS_TYPE_ARG(x, n)
char * errMsgToString(rError_t *errmsg, char *errbuf, int buflen)
int typeEqSyntatic(ExprType *a, ExprType *b)
#define T_CONS_TYPE_NAME(x)
ExprType * unifyNonTvars(ExprType *type, ExprType *expected, Hashtable *varTypes, Region *r)