bindata.c#30bin_constant(GeneratorgeneratorSymbolsymNCConstantconBytebufferbuf,...)
#32    if(con->nctype != NC_ECONST) {
#33        alignbuffer(con,buf);
#35    switch (con->nctype) {
#40        bytes=makebytestring(con->value.opaquev.stringv,&len);
#45        bbAppendn(buf,&con->value.charv,sizeof(con->value.charv));
#48        bbAppendn(buf,(void*)&con->value.int8v,sizeof(con->value.int8v));
#51        bbAppendn(buf,(void*)&con->value.int16v,sizeof(con->value.int16v));
#54        bbAppendn(buf,(void*)&con->value.int32v,sizeof(con->value.int32v));
#57        bbAppendn(buf,(void*)&con->value.floatv,sizeof(con->value.floatv));
#60        bbAppendn(buf,(void*)&con->value.doublev,sizeof(con->value.doublev));
#63        bbAppendn(buf,(void*)&con->value.uint8v,sizeof(con->value.uint8v));
#66        bbAppendn(buf,(void*)&con->value.uint16v,sizeof(con->value.uint16v));
#69        bbAppendn(buf,(void*)&con->value.uint32v,sizeof(con->value.uint32v));
#73        si64.i64 = con->value.int64v;
#78        su64.i64 = con->value.uint64v;
#84        int len = (size_t)con->value.stringv.len;
#85 if(len == 0 && con->value.stringv.stringv == NULL) {
#90     memcpy(ptr,con->value.stringv.stringv,len);
#96    default: PANIC1("bin_constant: unexpected type: %d",con->nctype);
cache.c#16static int iscacheableconstraint(DCEconstraintcon);
#379iscacheableconstraint(DCEconstraintcon)
#382    if(con == NULL) return 1;
#383    if(con->selections != NULL && nclistlength(con->selections) > 0)
#385    for(i=0;i<nclistlength(con->projections);i++) {
#386        if(!iscacheableprojection((DCEprojection*)nclistget(con->projections,i)))
cdata.c#31c_constant(GeneratorgeneratorSymbolsymNCConstantconBytebufferbuf,...)
#36    switch (con->nctype) {
#38 if(con->value.charv == '\'')
#41     bbprintf(codetmp,"'%s'",cescapifychar(con->value.charv,'\''));
#44 bbprintf(codetmp,"%hhd",con->value.int8v);
#47 bbprintf(codetmp,"%hd",con->value.int16v);
#50 bbprintf(codetmp,"%d",con->value.int32v);
#54 if(isnan(con->value.floatv))
#57     bbprintf(codetmp,"%f",con->value.floatv);
#61 if(isnan(con->value.doublev))
#64     bbprintf(codetmp,"%lf",con->value.doublev);
#67        bbprintf(codetmp,"%hhuU",con->value.uint8v);
#70 bbprintf(codetmp,"%huU",con->value.uint16v);
#73 bbprintf(codetmp,"%uU",con->value.uint32v);
#76 bbprintf(codetmp,"%lldLL",con->value.int64v);
#79 bbprintf(codetmp,"%lluULL",con->value.uint64v);
#82 bbprintf(codetmp,"%s",cname(con->value.enumv));
#86 if(con->value.stringv.len == 0 && con->value.stringv.stringv == NULL) {
#89     char* escaped = escapify(con->value.stringv.stringv,
#90  '"',con->value.stringv.len);
#100 bslen=(4*con->value.opaquev.len);
#103 p = con->value.opaquev.stringv;
#112    default: PANIC1("ncstype: bad type code: %d",con->nctype);
constraints.c#496dapiswholeconstraint(DCEconstraintcon)
#499    if(con == NULL) return 1;
#500    if(con->projections != NULL) {
#501 for(i=0;i<nclistlength(con->projections);i++) {
#502  if(!dapiswholeprojection((DCEprojection*)nclistget(con->projections,i)))
#506    if(con->selections != NULL)
constraints.h#19extern int dapiswholeconstraint(DCEconstraintcon);
cvt.c#627 NCConstant con;
#628 con.nctype = NC_CHAR;
#629        con.lineno = str->lineno;
#630        con.value.charv = s[i];
#631 con.filled = 0;
#632 dlappend(dl,&con);
dapdump.c#234dumpconstraint(DCEconstraintcon)
#239    tmp = dcetostring((DCEnode*)con);
dapdump.h#60extern char* dumpconstraint(DCEconstraintcon);
data.c#109const2src(NCConstantcon)
#112    ASSERT(con != NULL);
#114    src->data = con;
#124    NCConstant con;
#126    con.nctype = NC_COMPOUND;
#127    con.lineno = list->data[0].lineno;
#128    con.value.compoundv = list;
#129    con.filled = 0;
#130    return con;
#134const2list(NCConstantcon)
#137    ASSERT(con != NULL);
#140        dlappend(list,con);
#199    NCConstantcon;
#201    con = srcnext(src);
#202    ASSERT(con->nctype == NC_COMPOUND);
#203    srcpushlist(src,con->value.compoundv);
#271cloneconstant(NCConstantcon)
#273    NCConstant newcon = *con;
#320datalistappend(DatalistdlNCConstantcon)
#324    if(con == NULL) return dl;
#327    vector[dl->length] = *con;
#334datalistreplace(Datalistdl, unsigned int indexNCConstantcon)
#338    ASSERT(con != NULL);
#339    dl->data[index] = *con;
data.h#108Datalistconst2list(NCConstantcon);
#128#define islistconst(con) ((con)!=NULL && (con)->nctype == NC_COMPOUND)
#129#define isfillconst(con) ((con)!=NULL && (con)->nctype == NC_FILLVALUE)
#130#define constline(con) (con==NULL?0:(con)->lineno)
#131#define consttype(con) (con==NULL?NC_NAT:(con)->nctype)
#133#define isnilconst(con) ((con)!=NULL && (con)->nctype == NC_NIL)
#134#define   compoundfor(con) ((con)==NULL?NULL:(con)->value.compoundv)
#138NCConstant cloneconstant(NCConstantcon); /* shallow clone*/
dceconstraints.c#721 DCEconstraintcon = (DCEconstraint*)node;
#722        if(con->projections != NULL && nclistlength(con->projections) > 0) {
#723            dcelisttobuffer(con->projections,buf,",");
#725        if(con->selections != NULL && nclistlength(con->selections) > 0) {
#727            dcelisttobuffer(con->selections,buf,"&");
#1175 DCEconstraintcon = (DCEconstraint*)node;
#1176        if(con->projections != NULL && nclistlength(con->projections) > 0) {
#1178            dcedumprawlist(con->projections,buf);
#1180        if(con->selections != NULL && nclistlength(con->selections) > 0) {
#1182            dcedumprawlist(con->selections,buf);
dceparse.c#281    DCEconstantcon = (DCEconstant*)dcecreate(CES_CONST);
#286 con->discrim = CES_STR;
#287 con->text = nulldup(text);
#290 con->intvalue = strtoll(text,&endpoint,10);
#292     con->discrim = CES_INT;
#294     con->floatvalue = strtod(text,&endpoint);
#296         con->discrim = CES_FLOAT;
#302    return con;
dump.c#27dumpconstant(NCConstantcon, char* tag)
#31    dlappend(dl,con);
#189dumpconstant1(NCConstantcon)
#191    switch (con->nctype) {
#193 Datalistdl = con->value.compoundv;
#201 if(con->value.stringv.len > 0 && con->value.stringv.stringv != NULL)
#202     fprintf(stderr,"\"%s\"",con->value.stringv.stringv);
#207 if(con->value.opaquev.len > 0 && con->value.opaquev.stringv != NULL)
#208     fprintf(stderr,"0x%s",con->value.opaquev.stringv);
#213 fprintf(stderr,"%s",(con->value.enumv==NULL?"?":con->value.enumv->name));
#219 fprintf(stderr,"'%c'",con->value.charv);
#222 fprintf(stderr,"%hhd",con->value.int8v);
#225 fprintf(stderr,"%hhu",con->value.uint8v);
#228 fprintf(stderr,"%hd",con->value.int16v);
#231 fprintf(stderr,"%hu",con->value.uint16v);
#234 fprintf(stderr,"%d",con->value.int32v);
#237 fprintf(stderr,"%u",con->value.uint32v);
#240 fprintf(stderr,"%lld",con->value.int64v);
#243 fprintf(stderr,"%llu",con->value.uint64v);
#246 fprintf(stderr,"%g",con->value.floatv);
#249 fprintf(stderr,"%g",con->value.doublev);
genchar.c#155gen_charconstant(NCConstantconBytebufferdatabuf, int fillchar)
#159    switch (con->nctype) {
#161        bbAppend(databuf,con->value.charv);
#164        bbAppend(databuf,con->value.int8v);
#167        bbAppend(databuf,con->value.uint8v);
#170        constsize = con->value.stringv.len;
#171        bbAppendn(databuf,con->value.stringv.stringv,
#172                         con->value.stringv.len);
#250     NCConstantcon = datalistith(data,i);
#251     if(consttype(con) == NC_CHAR || consttype(con) == NC_BYTE) {
#260            NCConstantcon;
#262         con = datalistith(data,i);
#263         if(consttype(con) == NC_CHAR || consttype(con) == NC_BYTE) {
#265 lineno = constline(con);
#266     accum[len] = con->value.charv;
#270 con = makeconst(lineno,len,accum);
#274     dlappend(newlist,con);
#279 con = makeconst(lineno,len,accum);
#282         dlappend(newlist,con);
#341    NCConstantcon = (NCConstant*)malloc(sizeof(NCConstant));
#342    con->nctype = NC_STRING;
#343    con->lineno = lineno;
#344    con->filled = 0;
#345    con->value.stringv.len = len;
#347    con->value.stringv.stringv = (char*)malloc(len+1);
#348    memcpy((void*)con->value.stringv.stringv,(void*)str,len);
#349    con->value.stringv.stringv[len] = '\0';
#350    return con;
generate.c#68            NCConstantcon = datalistith(asym->data,count);
#70            generate_basetype(asym->typ.basetype,con,codebuf,NULL,generator);
#175                    NCConstantcon = datalistith(vsym->data,i+offset);
#177                    generate_basetype(basetype,con,code,filler,generator);
#248                NCConstantcon = datalistith(list,offset);
#250                generate_basetype(basetype,con,code,filler,generator);
#267            NCConstantcon = datalistith(list,offset);
#268            if(con == NULL || con->nctype == NC_FILL) {
#273            } else if(islistconst(con)) {
#274                Datalistsublist = compoundfor(con);
#277                semerror(constline(con),"Expected {...} representing unlimited list");
#291generate_basetype(SymboltsymNCConstantconBytebuffercodebufDatalistfillerGeneratorgenerator)
#301        if(islistconst(con)) {
#302            semerror(constline(con),"Expected primitive found {..}");
#304        generate_primdata(tsym,con,codebuf,filler,generator);
#309        if(con == NULL || isfillconst(con)) {
#312            con = &fill->data[0];
#313            if(!islistconst(con)) {
#314              if(con)
#315                semerror(con->lineno,"Compound data fill value is not enclosed in {..}");
#321        if(!con) { /* fail on null compound. */
#322          semerror(constline(con),"NULL compound data.");
#326        if(!islistconst(con)) {/* fail on no compound*/
#327            semerror(constline(con),"Compound data must be enclosed in {..}");
#330        data = con->value.compoundv;
#334          semerror(con->lineno,"Datalist longer than the number of compound fields");
#340            con = datalistith(data,i);
#342            generate_basetype(field,con,codebuf,NULL,generator);
#352        if(con == NULL || isfillconst(con)) {
#355            con = &fill->data[0];
#356            if(con->nctype != NC_COMPOUND) {
#357                semerror(con->lineno,"Vlen data fill value is not enclosed in {..}");
#361        if(!islistconst(con)) {
#362            semerror(constline(con),"Vlen data must be enclosed in {..}");
#364        data = con->value.compoundv;
#373              NCConstantcon;
#375                con = datalistith(data,count);
#376                generate_basetype(tsym->typ.basetype,con,vlenbuf,NULL,generator);
#387            if(con != NULL && !isfillconst(con) && !islistconst(con))
#388                semerror(constline(con),"Dimensioned fields must be enclose in {...}");
#389            generate_fieldarray(tsym->typ.basetype,con,&tsym->typ.dimset,codebuf,filler,generator);
#391            generate_basetype(tsym->typ.basetype,con,codebuf,NULL,generator);
#401generate_fieldarray(SymbolbasetypeNCConstantconDimsetdimset,
#411    if(con != NULL && !isfillconst(con))
#412        data = con->value.compoundv;
#426            con = (data == NULL ? NULL : datalistith(data,i));
#428            generate_basetype(basetype,con,codebuf,NULL,generator);
genlib.h#102extern void padstring(NCConstantcon, size_t desiredlength, int fillchar);
#106extern int explodestringconst(NCConstantcon, char* tagNCConstant*);
getfill.c#54    NCConstant con = nullconstant;
#60        con.nctype = tsym->typ.typecode;
#61        nc_getfill(&con);
#72 con = builddatasublist(sublist);
#77 con = builddatasublist(sublist);
#81    dlappend(filler,&con);
#89    NCConstant con = nullconstant;
#94        con.nctype = tsym->typ.typecode;
#95        nc_getfill(&con);
#96 dlappend(dl,&con);
#104 con = builddatasublist(sublist);
#105 dlappend(dl,&con);
#110 con = builddatasublist(sublist);
#111 dlappend(dl,&con);
jdata.c#31j_constant(GeneratorgeneratorSymbolsymNCConstantconBytebufferbuf,...)
#36    switch (con->nctype) {
#38 if(con->value.charv == '\'')
#41     bbprintf(codetmp,"'%c'",con->value.charv);
#44 bbprintf(codetmp,"%hhd",con->value.int8v);
#47 bbprintf(codetmp,"%hd",con->value.int16v);
#50 bbprintf(codetmp,"%d",con->value.int32v);
#54 if(isnan(con->value.floatv))
#57     bbprintf(codetmp,"%f",con->value.floatv);
#61 if(isnan(con->value.doublev))
#64     bbprintf(codetmp,"%lf",con->value.doublev);
#67        bbprintf(codetmp,"%hhu",con->value.uint8v);
#70 bbprintf(codetmp,"%hu",con->value.uint16v);
#73 bbprintf(codetmp,"%uU",con->value.uint32v);
#76 bbprintf(codetmp,"%lldLL",con->value.int64v);
#79 bbprintf(codetmp,"%lluLLU",con->value.uint64v);
#82 char* escaped = escapify(con->value.stringv.stringv,
#83  '"',con->value.stringv.len);
#90    default: PANIC1("ncstype: bad type code: %d",con->nctype);
ncgeny.c#294static void datalistextend(DatalistdlNCConstantcon);
#296static long long extractint(NCConstant con);
#3083    NCConstant con = nullconstant;
#3085    con.nctype = nctype;
#3086    con.lineno = lineno;
#3087    con.filled = 0;
#3089 case NC_CHARcon.value.charv = char_val; break;
#3090        case NC_BYTEcon.value.int8v = byte_val; break;
#3091        case NC_SHORTcon.value.int16v = int16_val; break;
#3092        case NC_INTcon.value.int32v = int32_val; break;
#3094     con.value.floatv = float_val;
#3097     con.value.doublev = double_val;
#3102     con.value.stringv.len = len;
#3103     con.value.stringv.stringv = bbDup(lextext);
#3109        case NC_UBYTEcon.value.uint8v = ubyte_val; break;
#3110        case NC_USHORTcon.value.uint16v = uint16_val; break;
#3111        case NC_UINTcon.value.uint32v = uint32_val; break;
#3112        case NC_INT64con.value.int64v = int64_val; break;
#3113        case NC_UINT64con.value.uint64v = uint64_val; break;
#3123     con.value.opaquev.stringv = s;
#3124     con.value.opaquev.len = len;
#3137     con.value.stringv.stringv = NULL;
#3138     con.value.stringv.len = 0;
#3140    return con;
#3146    NCConstant con;
#3150    con.nctype = NC_ECONST;
#3151    con.lineno = lineno;
#3152    con.filled = 0;
#3155    con.value.enumv = refsym;
#3156    return con;
#3200truefalse(NCConstantcon, int tag)
#3202    if(con->nctype == NC_STRING) {
#3203 char* sdata = con->value.stringv.stringv;
#3211    } else if(con->value.int32v < 0 || con->value.int32v > 1)
#3213    return con->value.int32v;
#3229    NCConstantcon;
#3251 con = (NCConstant*)data;
#3256        con = (NCConstant*)list->data;
#3264 iconst.nctype = (con->nctype == NC_STRING?NC_STRING:NC_INT);
#3265 convert1(con,&iconst);
#3273 convert1(con,&iconst);
#3282 convert1(con,&iconst);
#3439extractint(NCConstant con)
#3441    switch (con.nctype) {
#3442    case NC_BYTE: return (long long)(con.value.int8v);
#3443    case NC_SHORT: return (long long)(con.value.int16v);
#3444    case NC_INT: return (long long)(con.value.int32v);
#3445    case NC_UBYTE: return (long long)(con.value.uint8v);
#3446    case NC_USHORT: return (long long)(con.value.uint16v);
#3447    case NC_UINT: return (long long)(con.value.uint32v);
#3448    case NC_INT64: return (long long)(con.value.int64v);
#3450 derror("Not a signed integer type: %d",con.nctype);
#3461        NCConstantcon = list->data;
#3462        for(i=0;i<list->length;i++,con++) {
#3463     if(con->nctype == NC_COMPOUND) {
#3464         if(containsfills(con->value.compoundv)) return 1;
#3465     } else if(con->nctype == NC_FILLVALUE) return 1;
#3472datalistextend(DatalistdlNCConstantcon)
#3474    dlappend(dl,con);
semantics.c#27static void fixeconstref(NCConstantcon);
#441    NCConstantcon;
#443    for(i=0,con=data->data;i<data->alloc;i++,con++) {
#444 if(con->nctype == NC_COMPOUND) {
#446     processeconstrefsR(con->value.compoundv);
#447 } else if(con->nctype == NC_ECONST) {
#448     fixeconstref(con);
#454fixeconstref(NCConstantcon)
#458    Symbolrefsym = con->value.enumv;
#464 semerror(con->lineno,"Undefined enum or enum constant reference: %s",refsym->name);
#469 con->value.enumv = (Symbol*)listget(candidates,0);
#477     semerror(con->lineno,"Undefined group reference: ",fullname(refsym));
#484     semerror(con->lineno,"Undefined enum or enum constant reference: ",refsym->name);
#490     semerror(con->lineno,"Ambiguous enum constant reference: %s", fullname(refsym));
#492 con->value.enumv = listget(grpmatches,0);
#505     semerror(con->lineno,"Ambiguous enum constant reference: %s", fullname(refsym));
#512 con->value.enumv = match;
#516    semerror(con->lineno,"Ambiguous enum constant reference: %s", fullname(refsym));
#517    con->value.enumv = (Symbol*)listget(candidates,0);
#823 NCConstantcon = srcnext(src);
#824 if(con == NULL) return NC_NAT;
#825 if(con->nctype > NC_MAX_ATOMIC_TYPE) { /* illegal */
#837 NCConstantcon = srcnext(src);
#838 if(con->nctype == NC_STRINGstringcount++;
#839 else if(con->nctype == NC_CHARcharcount++;
#852 NCConstantcon = srcnext(src);
#853 if(con->nctype == NC_FLOATforcefloat = 1;
#854 else if(con->nctype == NC_DOUBLE) {forcedouble=1; break;}
#865 NCConstantcon = srcnext(src);
#866 if(con->nctype != NC_UINT64) continue;
#867 if(con->value.uint64v > NC_MAX_INT64) {forceuint64=1; break;}
#876 NCConstantcon = srcnext(src);
#877 switch (con->nctype) {
#878 case NC_BYTE :   if(con->value.int8v < 0)   {hasneg = 1;} break;
#879 case NC_SHORT:   if(con->value.int16v < 0)  {hasneg = 1;} break;
#880 case NC_INT:     if(con->value.int32v < 0)  {hasneg = 1;} break;
#888 NCConstantcon = srcnext(src);
#889 result = infertype(result,con->nctype,hasneg);
#942 NCConstantcon = datalistith(src,i);
#943 if(isnilconst(con))
#944            semerror(con->lineno,"NIL data can only be assigned to variables or attributes of type string");
#945 else if(islistconst(con)) /* recurse */
#946     validateNILr(con->value.compoundv);
#1113     NCConstantcon = data->data+i;
#1114     if(con->nctype != NC_COMPOUND) {
#1115 semerror(con->lineno,"UNLIMITED dimension (other than first) must be enclosed in {}");
#1117     computeunlimitedsizes(dimset,nextunlim,con->value.compoundv,ischar);
#1125 NCConstantcon = &data->data[i];
#1126 switch (con->nctype) {
#1131     length += con->value.stringv.len;
#1137     semwarn(datalistline(data),"Illegal character constant: %d",con->nctype);
#1183         NCConstantcon = var->data->data+j;
#1184         if(con->nctype != NC_COMPOUND)
#1185     semerror(con->lineno,"UNLIMITED dimension (other than first) must be enclosed in {}");
#1187             computeunlimitedsizes(dimset,first,con->value.compoundv,ischar);
util.c#535constantFree(NCConstantcon)
#537    switch(con->nctype) {
#542 if(con->value.stringv.len > 0 && con->value.stringv.stringv != NULL)
#543     efree(con->value.stringv.stringv);
#546 if(con->value.opaquev.len > 0 && con->value.opaquev.stringv != NULL)
#547     efree(con->value.opaquev.stringv);
#558    NCConstantcon;
#563     for(i=0,con=list->data;i<list->length;i++,con++)
#564         constantFree(con);


HyperKWIC - Version 7.20DA executed at 11:37 on 27 Oct 2017 | Polyhedron Solutions - INTERNAL USE | COMMERCIAL (Any O/S) SN 4AKIed