📄 bld.h
字号:
void ffebld_constantarray_dump (ffebldConstantArray array, ffeinfoBasictype bt, ffeinfoKindtype kt, ffetargetOffset size, ffebit bits);#endifffebldConstantUnion ffebld_constantarray_get (ffebldConstantArray array, ffeinfoBasictype bt, ffeinfoKindtype kt, ffetargetOffset offset);void ffebld_constantarray_kill (ffebldConstantArray array, ffeinfoBasictype bt, ffeinfoKindtype kt, ffetargetOffset size);ffebldConstantArray ffebld_constantarray_new (ffeinfoBasictype bt, ffeinfoKindtype kt, ffetargetOffset size);void ffebld_constantarray_prepare (void **aptr, void **cptr, size_t *size, ffebldConstantArray array, ffeinfoBasictype abt, ffeinfoKindtype akt, ffetargetOffset offset, ffebldConstantUnion *constant, ffeinfoBasictype cbt, ffeinfoKindtype ckt);void ffebld_constantarray_preparray (void **aptr, void **cptr, size_t *size, ffebldConstantArray array, ffeinfoBasictype abt, ffeinfoKindtype akt, ffetargetOffset offset, ffebldConstantArray source_array, ffeinfoBasictype cbt, ffeinfoKindtype ckt);void ffebld_constantarray_put (ffebldConstantArray array, ffeinfoBasictype bt, ffeinfoKindtype kt, ffetargetOffset offset, ffebldConstantUnion constant);#if FFECOM_targetCURRENT == FFECOM_targetFFEvoid ffebld_constantunion_dump (ffebldConstantUnion u, ffeinfoBasictype bt, ffeinfoKindtype kt);void ffebld_dump (ffebld b);void ffebld_dump_prefix (FILE *out, ffeinfoBasictype bt, ffeinfoKindtype kt);#endifvoid ffebld_init_0 (void);void ffebld_init_1 (void);void ffebld_init_2 (void);ffebldListLength ffebld_list_length (ffebld l);ffebld ffebld_new_accter (ffebldConstantArray array, ffebit b);ffebld ffebld_new_arrter (ffebldConstantArray array, ffetargetOffset size);ffebld ffebld_new_conter_with_orig (ffebldConstant c, ffebld orig);ffebld ffebld_new_item (ffebld head, ffebld trail);ffebld ffebld_new_labter (ffelab l);ffebld ffebld_new_labtok (ffelexToken t);ffebld ffebld_new_none (ffebldOp o);ffebld ffebld_new_symter (ffesymbol s, ffeintrinGen gen, ffeintrinSpec spec, ffeintrinImp imp);ffebld ffebld_new_one (ffebldOp o, ffebld left);ffebld ffebld_new_two (ffebldOp o, ffebld left, ffebld right);const char *ffebld_op_string (ffebldOp o);void ffebld_pool_pop (void);void ffebld_pool_push (mallocPool pool);ffetargetCharacterSize ffebld_size_max (ffebld b);/* Define macros. */#define ffebld_accter(b) ((b)->u.accter.array)#define ffebld_accter_bits(b) ((b)->u.accter.bits)#define ffebld_accter_pad(b) ((b)->u.accter.pad)#define ffebld_accter_set_bits(b,bt) ((b)->u.accter.bits = (bt))#define ffebld_accter_set_pad(b,p) ((b)->u.accter.pad = (p))#define ffebld_accter_size(b) ffebit_size((b)->u.accter.bits)#define ffebld_append_item(b,i) (**(b) = ffebld_new_item((i),NULL), \ *(b) = &((**(b))->u.item.trail))#define ffebld_arity(b) ffebld_arity_op(ffebld_op(b))#define ffebld_arity_op(o) (ffebld_arity_op_[o])#define ffebld_arrter(b) ((b)->u.arrter.array)#define ffebld_arrter_pad(b) ((b)->u.arrter.pad)#define ffebld_arrter_set_pad(b,p) ((b)->u.arrter.pad = (p))#define ffebld_arrter_set_size(b,s) ((b)->u.arrter.size = (s))#define ffebld_arrter_size(b) ((b)->u.arrter.size)#define ffebld_basictype(b) (ffeinfo_basictype (ffebld_info ((b))))#if FFEBLD_whereconstCURRENT_ == FFEBLD_whereconstPROGUNIT_#define ffebld_constant_pool() ffe_pool_program_unit()#elif FFEBLD_whereconstCURRENT_ == FFEBLD_whereconstFILE_#define ffebld_constant_pool() ffe_pool_file()#else#error#endif#define ffebld_constant_character1(c) ((c)->u.character1)#define ffebld_constant_character2(c) ((c)->u.character2)#define ffebld_constant_character3(c) ((c)->u.character3)#define ffebld_constant_character4(c) ((c)->u.character4)#define ffebld_constant_character5(c) ((c)->u.character5)#define ffebld_constant_character6(c) ((c)->u.character6)#define ffebld_constant_character7(c) ((c)->u.character7)#define ffebld_constant_character8(c) ((c)->u.character8)#define ffebld_constant_characterdefault ffebld_constant_character1#define ffebld_constant_complex1(c) ((c)->u.complex1)#define ffebld_constant_complex2(c) ((c)->u.complex2)#define ffebld_constant_complex3(c) ((c)->u.complex3)#define ffebld_constant_complex4(c) ((c)->u.complex4)#define ffebld_constant_complex5(c) ((c)->u.complex5)#define ffebld_constant_complex6(c) ((c)->u.complex6)#define ffebld_constant_complex7(c) ((c)->u.complex7)#define ffebld_constant_complex8(c) ((c)->u.complex8)#define ffebld_constant_complexdefault ffebld_constant_complex1#define ffebld_constant_complexdouble ffebld_constant_complex2#define ffebld_constant_complexquad ffebld_constant_complex3#define ffebld_constant_copy(c) (c)#define ffebld_constant_hollerith(c) ((c)->u.hollerith)#define ffebld_constant_hook(c) ((c)->hook)#define ffebld_constant_integer1(c) ((c)->u.integer1)#define ffebld_constant_integer2(c) ((c)->u.integer2)#define ffebld_constant_integer3(c) ((c)->u.integer3)#define ffebld_constant_integer4(c) ((c)->u.integer4)#define ffebld_constant_integer5(c) ((c)->u.integer5)#define ffebld_constant_integer6(c) ((c)->u.integer6)#define ffebld_constant_integer7(c) ((c)->u.integer7)#define ffebld_constant_integer8(c) ((c)->u.integer8)#define ffebld_constant_integerdefault ffebld_constant_integer1#define ffebld_constant_is_numeric(c) ((c)->numeric)#define ffebld_constant_logical1(c) ((c)->u.logical1)#define ffebld_constant_logical2(c) ((c)->u.logical2)#define ffebld_constant_logical3(c) ((c)->u.logical3)#define ffebld_constant_logical4(c) ((c)->u.logical4)#define ffebld_constant_logical5(c) ((c)->u.logical5)#define ffebld_constant_logical6(c) ((c)->u.logical6)#define ffebld_constant_logical7(c) ((c)->u.logical7)#define ffebld_constant_logical8(c) ((c)->u.logical8)#define ffebld_constant_logicaldefault ffebld_constant_logical1#define ffebld_constant_new_characterdefault ffebld_constant_new_character1#define ffebld_constant_new_characterdefault_val ffebld_constant_new_character1_val#define ffebld_constant_new_complexdefault ffebld_constant_new_complex1#define ffebld_constant_new_complexdefault_val ffebld_constant_new_complex1_val#define ffebld_constant_new_complexdouble ffebld_constant_new_complex2#define ffebld_constant_new_complexdouble_val ffebld_constant_new_complex2_val#define ffebld_constant_new_complexquad ffebld_constant_new_complex3#define ffebld_constant_new_complexquad_valffebld_constant_new_complex3_val#define ffebld_constant_new_integerdefault ffebld_constant_new_integer1#define ffebld_constant_new_integerdefault_val ffebld_constant_new_integer1_val#define ffebld_constant_new_logicaldefault ffebld_constant_new_logical1#define ffebld_constant_new_logicaldefault_val ffebld_constant_new_logical1_val#define ffebld_constant_new_realdefault ffebld_constant_new_real1#define ffebld_constant_new_realdefault_val ffebld_constant_new_real1_val#define ffebld_constant_new_realdouble ffebld_constant_new_real2#define ffebld_constant_new_realdouble_val ffebld_constant_new_real2_val#define ffebld_constant_new_realquad ffebld_constant_new_real3#define ffebld_constant_new_realquad_val ffebld_constant_new_real3_val#define ffebld_constant_ptr_to_union(c) (&(c)->u)#define ffebld_constant_real1(c) ((c)->u.real1)#define ffebld_constant_real2(c) ((c)->u.real2)#define ffebld_constant_real3(c) ((c)->u.real3)#define ffebld_constant_real4(c) ((c)->u.real4)#define ffebld_constant_real5(c) ((c)->u.real5)#define ffebld_constant_real6(c) ((c)->u.real6)#define ffebld_constant_real7(c) ((c)->u.real7)#define ffebld_constant_real8(c) ((c)->u.real8)#define ffebld_constant_realdefault ffebld_constant_real1#define ffebld_constant_realdouble ffebld_constant_real2#define ffebld_constant_realquad ffebld_constant_real3#define ffebld_constant_set_hook(c,h) ((c)->hook = (h))#define ffebld_constant_set_union(c,un) ((c)->u = (un))#define ffebld_constant_type(c) ((c)->consttype)#define ffebld_constant_typeless(c) ((c)->u.typeless)#define ffebld_constant_union(c) ((c)->u)#define ffebld_conter(b) ((b)->u.conter.expr)#define ffebld_conter_orig(b) ((b)->u.conter.orig)#define ffebld_conter_pad(b) ((b)->u.conter.pad)#define ffebld_conter_set_orig(b,o) ((b)->u.conter.orig = (o))#define ffebld_conter_set_pad(b,p) ((b)->u.conter.pad = (p))#define ffebld_copy(b) (b) /* ~~~Someday really make a copy. */#define ffebld_cu_ptr_typeless(u) &(u).typeless#define ffebld_cu_ptr_hollerith(u) &(u).hollerith#define ffebld_cu_ptr_integer1(u) &(u).integer1#define ffebld_cu_ptr_integer2(u) &(u).integer2#define ffebld_cu_ptr_integer3(u) &(u).integer3#define ffebld_cu_ptr_integer4(u) &(u).integer4#define ffebld_cu_ptr_integer5(u) &(u).integer5#define ffebld_cu_ptr_integer6(u) &(u).integer6#define ffebld_cu_ptr_integer7(u) &(u).integer7#define ffebld_cu_ptr_integer8(u) &(u).integer8#define ffebld_cu_ptr_integerdefault ffebld_cu_ptr_integer1#define ffebld_cu_ptr_logical1(u) &(u).logical1#define ffebld_cu_ptr_logical2(u) &(u).logical2#define ffebld_cu_ptr_logical3(u) &(u).logical3#define ffebld_cu_ptr_logical4(u) &(u).logical4#define ffebld_cu_ptr_logical5(u) &(u).logical5#define ffebld_cu_ptr_logical6(u) &(u).logical6#define ffebld_cu_ptr_logical7(u) &(u).logical7#define ffebld_cu_ptr_logical8(u) &(u).logical8#define ffebld_cu_ptr_logicaldefault ffebld_cu_ptr_logical1#define ffebld_cu_ptr_real1(u) &(u).real1#define ffebld_cu_ptr_real2(u) &(u).real2#define ffebld_cu_ptr_real3(u) &(u).real3#define ffebld_cu_ptr_real4(u) &(u).real4#define ffebld_cu_ptr_real5(u) &(u).real5#define ffebld_cu_ptr_real6(u) &(u).real6#define ffebld_cu_ptr_real7(u) &(u).real7#define ffebld_cu_ptr_real8(u) &(u).real8#define ffebld_cu_ptr_realdefault ffebld_cu_ptr_real1#define ffebld_cu_ptr_realdouble ffebld_cu_ptr_real2#define ffebld_cu_ptr_realquad ffebld_cu_ptr_real3#define ffebld_cu_ptr_complex1(u) &(u).complex1#define ffebld_cu_ptr_complex2(u) &(u).complex2#define ffebld_cu_ptr_complex3(u) &(u).complex3#define ffebld_cu_ptr_complex4(u) &(u).complex4#define ffebld_cu_ptr_complex5(u) &(u).complex5#define ffebld_cu_ptr_complex6(u) &(u).complex6#define ffebld_cu_ptr_complex7(u) &(u).complex7#define ffebld_cu_ptr_complex8(u) &(u).complex8#define ffebld_cu_ptr_complexdefault ffebld_cu_ptr_complex1#define ffebld_cu_ptr_complexdouble ffebld_cu_ptr_complex2#define ffebld_cu_ptr_complexquad ffebld_cu_ptr_complex3#define ffebld_cu_ptr_character1(u) &(u).character1#define ffebld_cu_ptr_character2(u) &(u).character2#define ffebld_cu_ptr_character3(u) &(u).character3#define ffebld_cu_ptr_character4(u) &(u).character4#define ffebld_cu_ptr_character5(u) &(u).character5#define ffebld_cu_ptr_character6(u) &(u).character6#define ffebld_cu_ptr_character7(u) &(u).character7#define ffebld_cu_ptr_character8(u) &(u).character8#define ffebld_cu_val_typeless(u) (u).typeless#define ffebld_cu_val_hollerith(u) (u).hollerith#define ffebld_cu_val_integer1(u) (u).integer1#define ffebld_cu_val_integer2(u) (u).integer2#define ffebld_cu_val_integer3(u) (u).integer3#define ffebld_cu_val_integer4(u) (u).integer4#define ffebld_cu_val_integer5(u) (u).integer5#define ffebld_cu_val_integer6(u) (u).integer6#define ffebld_cu_val_integer7(u) (u).integer7#define ffebld_cu_val_integer8(u) (u).integer8#define ffebld_cu_val_integerdefault ffebld_cu_val_integer1#define ffebld_cu_val_logical1(u) (u).logical1#define ffebld_cu_val_logical2(u) (u).logical2#define ffebld_cu_val_logical3(u) (u).logical3#define ffebld_cu_val_logical4(u) (u).logical4#define ffebld_cu_val_logical5(u) (u).logical5#define ffebld_cu_val_logical6(u) (u).logical6#define ffebld_cu_val_logical7(u) (u).logical7#define ffebld_cu_val_logical8(u) (u).logical8#define ffebld_cu_val_logicaldefault ffebld_cu_val_logical#define ffebld_cu_val_real1(u) (u).real1#define ffebld_cu_val_real2(u) (u).real2#define ffebld_cu_val_real3(u) (u).real3#define ffebld_cu_val_real4(u) (u).real4#define ffebld_cu_val_real5(u) (u).real5#define ffebld_cu_val_real6(u) (u).real6#define ffebld_cu_val_real7(u) (u).real7#define ffebld_cu_val_real8(u) (u).real8#define ffebld_cu_val_realdefault ffebld_cu_val_real1#define ffebld_cu_val_realdouble ffebld_cu_val_real2#define ffebld_cu_val_realquad ffebld_cu_val_real3#define ffebld_cu_val_complex1(u) (u).complex1#define ffebld_cu_val_complex2(u) (u).complex2#define ffebld_cu_val_complex3(u) (u).complex3#define ffebld_cu_val_complex4(u) (u).complex4#define ffebld_cu_val_complex5(u) (u).complex5#define ffebld_cu_val_complex6(u) (u).complex6#define ffebld_cu_val_complex7(u) (u).complex7#define ffebld_cu_val_complex8(u) (u).complex8#define ffebld_cu_val_complexdefault ffebld_cu_val_complex1#define ffebld_cu_val_complexdouble ffebld_cu_val_complex2#define ffebld_cu_val_complexquad ffebld_cu_val_complex3#define ffebld_cu_val_character1(u) (u).character1#define ffebld_cu_val_character2(u) (u).character2#define ffebld_cu_val_character3(u) (u).character3#define ffebld_cu_val_character4(u) (u).character4#define ffebld_cu_val_character5(u) (u).character5#define ffebld_cu_val_character6(u) (u).character6#define ffebld_cu_val_character7(u) (u).character7#define ffebld_cu_val_character8(u) (u).character8#define ffebld_end_list(b) (*(b) = NULL)#define ffebld_head(b) ((b)->u.item.head)#define ffebld_info(b) ((b)->info)#define ffebld_init_3()#define ffebld_init_4()#define ffebld_init_list(l,b) (*(l) = NULL, *(b) = (l))#define ffebld_item_hook(b) ((b)->u.item.hook)#define ffebld_item_set_hook(b,h) ((b)->u.item.hook = (h))#define ffebld_kind(b) (ffeinfo_kind (ffebld_info ((b))))#define ffebld_kindtype(b) (ffeinfo_kindtype (ffebld_info ((b))))#define ffebld_labter(b) ((b)->u.labter)#define ffebld_labtok(b) ((b)->u.labtok)#define ffebld_left(b) ((b)->u.nonter.left)#define ffebld_name_string(n) ((n)->name)#define ffebld_new() \ ((ffebld) malloc_new_kp(ffebld_pool(), "FFEBLD",sizeof(struct _ffebld_)))#define ffebld_new_any() ffebld_new_none(FFEBLD_opANY)#define ffebld_new_conter(c) ffebld_new_conter_with_orig((c),NULL)#define ffebld_new_star() ffebld_new_none(FFEBLD_opSTAR)#define ffebld_new_uplus(l) ffebld_new_one(FFEBLD_opUPLUS,(l))#define ffebld_new_uminus(l) ffebld_new_one(FFEBLD_opUMINUS,(l))#define ffebld_new_add(l,r) ffebld_new_two(FFEBLD_opADD,(l),(r))#define ffebld_new_subtract(l,r) ffebld_new_two(FFEBLD_opSUBTRACT,(l),(r))#define ffebld_new_multiply(l,r) ffebld_new_two(FFEBLD_opMULTIPLY,(l),(r))#define ffebld_new_divide(l,r) ffebld_new_two(FFEBLD_opDIVIDE,(l),(r))#define ffebld_new_power(l,r) ffebld_new_two(FFEBLD_opPOWER,(l),(r))#define ffebld_new_bounds(l,r) ffebld_new_two(FFEBLD_opBOUNDS,(l),(r))#define ffebld_new_concatenate(l,r) ffebld_new_two(FFEBLD_opCONCATENATE,(l),(r))#define ffebld_new_not(l) ffebld_new_one(FFEBLD_opNOT,(l))#define ffebld_new_lt(l,r) ffebld_new_two(FFEBLD_opLT,(l),(r))#define ffebld_new_le(l,r) ffebld_new_two(FFEBLD_opLE,(l),(r))#define ffebld_new_eq(l,r) ffebld_new_two(FFEBLD_opEQ,(l),(r))#define ffebld_new_ne(l,r) ffebld_new_two(FFEBLD_opNE,(l),(r))#define ffebld_new_gt(l,r) ffebld_new_two(FFEBLD_opGT,(l),(r))#define ffebld_new_ge(l,r) ffebld_new_two(FFEBLD_opGE,(l),(r))#define ffebld_new_and(l,r) ffebld_new_two(FFEBLD_opAND,(l),(r))#define ffebld_new_or(l,r) ffebld_new_two(FFEBLD_opOR,(l),(r))#define ffebld_new_xor(l,r) ffebld_new_two(FFEBLD_opXOR,(l),(r))#define ffebld_new_eqv(l,r) ffebld_new_two(FFEBLD_opEQV,(l),(r))#define ffebld_new_neqv(l,r) ffebld_new_two(FFEBLD_opNEQV,(l),(r))#define ffebld_new_paren(l) ffebld_new_one(FFEBLD_opPAREN,(l))#define ffebld_new_repeat(l,r) ffebld_new_two(FFEBLD_opREPEAT,(l),(r))#define ffebld_new_percent_descr(l) ffebld_new_one(FFEBLD_opPERCENT_DESCR,(l))#define ffebld_new_percent_loc(l) ffebld_new_one(FFEBLD_opPERCENT_LOC,(l))#define ffebld_new_percent_ref(l) ffebld_new_one(FFEBLD_opPERCENT_REF,(l))#define ffebld_new_percent_val(l) ffebld_new_one(FFEBLD_opPERCENT_VAL,(l))#define ffebld_new_complex(l,r) ffebld_new_two(FFEBLD_opCOMPLEX,(l),(r))#define ffebld_new_convert(l) ffebld_new_one(FFEBLD_opCONVERT,(l))#define ffebld_new_funcref(l,r) ffebld_new_two(FFEBLD_opFUNCREF,(l),(r))#define ffebld_new_subrref(l,r) ffebld_new_two(FFEBLD_opSUBRREF,(l),(r))#define ffebld_new_arrayref(l,r) ffebld_new_two(FFEBLD_opARRAYREF,(l),(r))#define ffebld_new_substr(l,r) ffebld_new_two(FFEBLD_opSUBSTR,(l),(r))#define ffebld_new_impdo(l,r) ffebld_new_two(FFEBLD_opIMPDO,(l),(r))#define ffebld_nonter_hook(b) ((b)->u.nonter.hook)#define ffebld_nonter_set_hook(b,h) ((b)->u.nonter.hook = (h))#define ffebld_op(b) ((b)->op)#define ffebld_pool() (ffebld_pool_stack_.pool)#define ffebld_rank(b) (ffeinfo_rank (ffebld_info ((b))))#define ffebld_right(b) ((b)->u.nonter.right)#define ffebld_set_accter(b,a) ((b)->u.accter.array = (a))#define ffebld_set_arrter(b,a) ((b)->u.arrter.array = (a))#define ffebld_set_conter(b,c) ((b)->u.conter.expr = (c))#define ffebld_set_info(b,i) ((b)->info = (i))#define ffebld_set_labter(b,l) ((b)->u.labter = (l))#define ffebld_set_op(b,o) ((b)->op = (o))#define ffebld_set_head(b,h) ((b)->u.item.head = (h))#define ffebld_set_left(b,l) ((b)->u.nonter.left = (l))#define ffebld_set_right(b,r) ((b)->u.nonter.right = (r))#define ffebld_set_trail(b,t) ((b)->u.item.trail = (t))#define ffebld_size(b) (ffeinfo_size (ffebld_info ((b))))#define ffebld_size_known(b) ffebld_size((b))#define ffebld_symter(b) ((b)->u.symter.symbol)#define ffebld_symter_generic(b) ((b)->u.symter.generic)#define ffebld_symter_doiter(b) ((b)->u.symter.do_iter)#define ffebld_symter_implementation(b) ((b)->u.symter.implementation)#define ffebld_symter_specific(b) ((b)->u.symter.specific)#define ffebld_symter_set_generic(b,g) ((b)->u.symter.generic = (g))#define ffebld_symter_set_implementation(b,i) \ ((b)->u.symter.implementation = (i))#define ffebld_symter_set_is_doiter(b,f) ((b)->u.symter.do_iter = (f))#define ffebld_symter_set_specific(b,s) ((b)->u.symter.specific = (s))#define ffebld_terminate_0()#define ffebld_terminate_1()#define ffebld_terminate_2()#define ffebld_terminate_3()#define ffebld_terminate_4()#define ffebld_trail(b) ((b)->u.item.trail)#define ffebld_where(b) (ffeinfo_where (ffebld_info ((b))))/* End of #include file. */#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -