2020-02-15 20:01:48 +00:00
|
|
|
import U8 *Doc2PlainText(CDoc *doc,CDocEntry *doc_e);
|
|
|
|
import U0 DocBinsValidate(CDoc *doc);
|
|
|
|
import U0 DocDel(CDoc *doc);
|
|
|
|
import U0 DocLoad(CDoc *doc,U8 *src2,I64 size);
|
|
|
|
import CDoc *DocNew(U8 *filename=NULL,CTask *task=NULL);
|
|
|
|
import CDocEntry *DocPrint(CDoc *doc=NULL,U8 *fmt,...);
|
|
|
|
import CDocEntry *DocPutLine(CDoc *doc,CDocEntry *doc_e);
|
|
|
|
import I64 DocSize(CDoc *doc);
|
|
|
|
import Bool DocWrite(CDoc *doc,Bool prompt=FALSE);
|
2020-02-15 23:23:41 +00:00
|
|
|
extern U8 *CmdLinePrompt();
|
2020-02-15 20:01:48 +00:00
|
|
|
extern I64 HashEntrySize2(CHashSrcSym *tmph);
|
2020-02-15 23:38:06 +00:00
|
|
|
extern Bool IsLexExpression2Bin(CCompCtrl *cc,U8 **_machine_code);
|
|
|
|
extern I64 Lex(CCompCtrl *cc);
|
|
|
|
extern I64 LexExpression(CCompCtrl *cc);
|
|
|
|
extern I64 LexGetChar(CCompCtrl *cc);
|
2020-02-15 20:01:48 +00:00
|
|
|
extern CCodeMisc *OptLabelFwd(CCodeMisc *lb);
|
2020-02-15 23:38:06 +00:00
|
|
|
extern CIntermediateCode *OptPass012(CCompCtrl *cc);
|
|
|
|
extern U0 OptPass3(CCompCtrl *cc,COptReg *reg_offsets);
|
|
|
|
extern U0 OptPass4(CCompCtrl *cc,COptReg *reg_offsets,I64 *_type);
|
|
|
|
extern U0 OptPass5(CCompCtrl *cc);
|
|
|
|
extern U0 OptPass6(CCompCtrl *cc);
|
2020-02-15 20:01:48 +00:00
|
|
|
extern I64 OptPass789A(
|
2020-02-15 23:38:06 +00:00
|
|
|
CCompCtrl *cc,COptReg *reg_offsets,U8 *buf,CDebugInfo **_dbg);
|
2020-02-15 23:03:01 +00:00
|
|
|
extern CHashClass *ParseClass(
|
2020-02-15 23:38:06 +00:00
|
|
|
CCompCtrl *cc,I64 keyword,I64 fsp_flags,Bool is_extern);
|
2020-02-15 23:03:01 +00:00
|
|
|
extern CHashFun *ParseFunJoin(
|
2020-02-15 23:38:06 +00:00
|
|
|
CCompCtrl *cc,CHashClass *tmp_return,U8 *name,I64 fsp_flags);
|
|
|
|
extern I64 ParseKeyWord(CCompCtrl *cc);
|
2020-02-16 00:20:04 +00:00
|
|
|
extern Bool ParseStatement(CCompCtrl *cc,I64 try_count=0,
|
2020-02-15 20:01:48 +00:00
|
|
|
CCodeMisc *lb_break=NULL,I64 cmp_flags=CMPF_PRS_SEMICOLON);
|
2020-02-15 23:38:06 +00:00
|
|
|
extern U0 ParseStreamBlk(CCompCtrl *cc);
|
|
|
|
extern CHashClass *ParseType(CCompCtrl *cc,CHashClass **_tmpc1,
|
2020-02-16 00:26:51 +00:00
|
|
|
I64 *_mode,CMemberList *tmpm,U8 **_ident,CHashFun **_fun_ptr,
|
2020-02-15 20:01:48 +00:00
|
|
|
CHashExport **_tmpex,CArrayDim *tmpad,I64 fsp_flags);
|
2020-02-16 01:19:05 +00:00
|
|
|
extern I64 ParseUnaryModifier(CCompCtrl *cc,CPrsStack *ps,
|
2020-02-16 00:26:51 +00:00
|
|
|
CMemberList **_local_var,CArrayDim **_tmpad,I64 *unary_post_prec);
|
2020-02-15 23:03:01 +00:00
|
|
|
extern I64 ParseUnaryTerm(
|
2020-02-16 01:19:05 +00:00
|
|
|
CCompCtrl *cc,CPrsStack *ps,CMemberList **_local_var,CArrayDim **_tmpad,
|
2020-02-15 20:01:48 +00:00
|
|
|
I64 *max_prec,I64 *unary_pre_prec,I64 *paren_prec);
|
2020-02-15 23:38:06 +00:00
|
|
|
extern U0 ParseVarInit2(CCompCtrl *cc,U8 **_dst,CHashClass *tmpc,
|
2020-02-15 20:01:48 +00:00
|
|
|
CArrayDim *tmpad,U8 *data_addr_rip,U8 **_base,Bool data_heap,I64 pass);
|
|
|
|
_extern CMP_TEMPLATES U32 cmp_templates[1];
|
|
|
|
_extern CMP_TEMPLATES_DONT_POP U32 cmp_templates_dont_pop[1];
|
|
|
|
_extern CMP_TEMPLATES_DONT_PUSH2 U32 cmp_templates_dont_push2[1];
|
|
|
|
_extern CMP_TEMPLATES_DONT_PUSH U32 cmp_templates_dont_push[1];
|
|
|
|
_extern CMP_TEMPLATES_DONT_PUSH_POP U32 cmp_templates_dont_push_pop[1];
|