Lyon ee90f9a60f add new file
update cmsis-pack to v1.10

update v1.10.0 to cmsis-pack

update makepdsc
2022-08-08 21:58:16 +08:00

38 lines
1.6 KiB
C

#ifndef __PIKA_COMPILER__H
#define __PIKA_COMPILER__H
#include "PikaObj.h"
#include "stdint.h"
int pikaCompileFile(char* input_file_name);
int pikaCompileFileWithOutputName(char* output_file_name,
char* input_file_name);
int pikaCompile(char* output_file_name, char* py_lines);
LibObj* New_LibObj(Args* args);
void LibObj_deinit(LibObj* self);
void LibObj_dynamicLink(LibObj* self, char* module_name, uint8_t* bytecode);
int LibObj_staticLink(LibObj* self,
char* module_name,
uint8_t* bytecode,
size_t size);
int LibObj_staticLinkFile(LibObj* self, char* input_file_name);
void LibObj_listModules(LibObj* self);
int LibObj_saveLibraryFile(LibObj* self, char* output_file_name);
int LibObj_loadLibraryFile(LibObj* self, char* input_file_name);
int Lib_loadLibraryFileToArray(char* origin_file_name, char* pikascript_root);
PikaMaker* New_PikaMaker(void);
void pikaMaker_setPWD(PikaMaker* self, char* pwd);
void pikaMaker_compileModule(PikaMaker* self, char* module_name);
int pikaMaker_getDependencies(PikaMaker* self, char* module_name);
void pikaMaker_printStates(PikaMaker* self);
char* pikaMaker_getFirstNocompiled(PikaMaker* self);
void pikaMaker_compileModuleWithDepends(PikaMaker* self, char* module_name);
void pikaMaker_linkCompiledModules(PikaMaker* self, char* lib_name);
int LibObj_loadLibrary(LibObj* self, uint8_t* library_bytes);
void pikaMaker_linkCompiledModulesFullPath(PikaMaker* self, char* lib_path);
#define LIB_VERSION_NUMBER 1
#define LIB_INFO_BLOCK_SIZE 32
#endif