85 lines
3.5 KiB
C++
85 lines
3.5 KiB
C++
#help_index "Compiler/Lex"
|
|
#help_file "::/SparrowOS/Doc/Lex"
|
|
public extern CLex *LexNew(U8 *buf,I64 flags,U8 *filename=NULL);
|
|
public extern U0 LexDel(CLex *lx);
|
|
public extern I64 LexSize(CLex *lx);
|
|
public extern U0 SetSrcFileInfo(CLex *lx,CHashSrcSym *h);
|
|
public extern U0 LexPutToken(CLex *lx);
|
|
public extern I64 LexGetChar(CLex *lx);
|
|
public extern U0 LexSkipEol(CLex *lx);
|
|
public extern U0 LexPush(CLex *lx);
|
|
public extern U0 LexPop(CLex *lx);
|
|
//public extern U0 LexSubStkPtr(CLex *lx);
|
|
public extern I64 Lex(CLex *lx);
|
|
public extern U8 *LexExtStr(CLex *lx,I64 *_size=NULL);
|
|
public extern U0 LexPutLine(CLex *lx,U8 *start);
|
|
public extern U0 LexPutPos(CLex *lx);
|
|
public extern U0 LexPutWarn(CLex *lx,U8 *name=NULL,CHashFun *fun_class=NULL);
|
|
public extern U0 LexExcept(CLex *lx,U8 *name=NULL,CHashFun *fun_class=NULL);
|
|
public extern U8 *CmpExpression(CLex *lx,I64 *type=NULL);
|
|
public extern U8 *CmpStatement(CLex *lx,I64 *type);
|
|
public extern I64 GetExpression(CLex *lx,U8 **ex); //FALSE=no err
|
|
public extern I64 Expression(CLex *lx);
|
|
public extern U0 ExpressionDel(U8 *code);
|
|
public extern I64 MemberMetaData(U8 *st,CMemberList *ml);
|
|
extern U0 MemberListDel(CHashClass *c);
|
|
public extern CMemberListMeta *MemberMetaFind(U8 *st,CMemberList *ml);
|
|
public extern CMemberList *MemberFind(U8 *st,CHashClass *c);
|
|
public extern CMemberList *MemberFind2(CHashClass *pattern,CHashClass *tempc);
|
|
public extern U0 LexIncludeDoc(CLex *lx,U8 *filename,CDoc *_doc);
|
|
|
|
#help_index "Compiler/Directive"
|
|
#help_file "::/SparrowOS/Doc/Directives"
|
|
public extern U0 StreamPutS(U8 *st);
|
|
public extern U0 StreamPrintF(U8 *src,...);
|
|
public extern Bool PTrace(Bool val);
|
|
public extern Bool OTrace(Bool val);
|
|
public extern I64 OPassTraceMask(I64 i=0b1001111101);
|
|
public extern Bool OptEqu(I64 num,Bool val);
|
|
public extern Bool OptOn(I64 num);
|
|
public extern Bool OptOff(I64 num);
|
|
public extern Bool GetOpt(I64 num);
|
|
public extern Bool CTrace(Bool val);
|
|
public extern Bool LTrace(Bool val);
|
|
public extern Bool Echo(Bool val);
|
|
public extern Bool IsReplaceSyms();
|
|
public extern U0 ImportHashTable(CHashTable *tempht);
|
|
public extern I64 IncludeDepth();
|
|
|
|
#help_index "Hash"
|
|
extern CHashSrcSym *HashEntryImportCopy(CHashSrcSym *temph);
|
|
extern U0 HashTableImport(CHashTable *src,CHashTable *dst);
|
|
public extern I64 HashEntrySize(CHashSrcSym *temph);
|
|
public extern I64 HashEntrySize2(CHashSrcSym *temph);
|
|
public extern I64 HashTableSize2(CHashTable *table);
|
|
|
|
|
|
#help_index "Compiler;Cmd Line (Typically)"
|
|
public extern I64 Cmp(U8 *filename,U8 *map_name=NULL,U8 *out_name=NULL,U8 mapfile_drv=0);
|
|
|
|
#help_index "Compiler"
|
|
public extern I64 ExePutS(U8 *buf,U8 *filename=NULL,Bool just_load=FALSE);
|
|
public extern I64 ExePrintF(U8 *fmt,...);
|
|
public extern I64 ExeFile(U8 *name,Bool just_load=FALSE);
|
|
public extern I64 ExePutS2(U8 *buf,U8 *filename=NULL,Bool just_load=FALSE);
|
|
public extern I64 ExePrintF2(U8 *fmt,...);
|
|
public extern I64 ExeFile2(U8 *name,Bool just_load=FALSE);
|
|
public extern I64 ExePutS3(U8 *buf,U8 *filename=NULL,Bool just_load=FALSE);
|
|
public extern I64 ExePrintF3(U8 *fmt,...);
|
|
public extern I64 ExeFile3(U8 *name,Bool just_load=FALSE);
|
|
extern CHashTable *asm_hash;
|
|
extern U0 CmpInit(Bool first);
|
|
extern I64 compiled_lines,compiled_funs,compiled_bytes;
|
|
|
|
|
|
|
|
//The following is for benchmarking
|
|
extern Bool cmp_do_not_write_to_dsk;
|
|
|
|
#help_index "Debugging"
|
|
public extern U0 Ui(U8 *buf,U8 **_ip,I64 seg_size=64,I64 *branch=NULL);
|
|
public extern U8 *U(U8 *ip,I64 cnt=20,I64 seg_size=64);
|
|
public extern I64 Un(U8 *ip,I64 cnt=0x80,I64 seg_size=64);
|
|
|
|
#help_index ""
|