Skip to content

Instantly share code, notes, and snippets.

@cygx
Last active August 29, 2015 14:17
Show Gist options
  • Save cygx/f7eb20d6c73294f72245 to your computer and use it in GitHub Desktop.
Save cygx/f7eb20d6c73294f72245 to your computer and use it in GitHub Desktop.
nqp fakecutable
#include <moar.h>
extern MVMuint8 _binary_MASTNodes_moarvm_start[65534];
extern MVMuint8 _binary_MASTOps_moarvm_start[118564];
extern MVMuint8 _binary_ModuleLoader_moarvm_start[12282];
extern MVMuint8 _binary_nqp_moarvm_start[967444];
extern MVMuint8 _binary_NQPCORE_setting_moarvm_start[49056];
extern MVMuint8 _binary_NQPHLL_moarvm_start[370149];
extern MVMuint8 _binary_nqpmo_moarvm_start[87514];
extern MVMuint8 _binary_NQPP5QRegex_moarvm_start[282448];
extern MVMuint8 _binary_NQPP6QRegex_moarvm_start[443911];
extern MVMuint8 _binary_QAST_moarvm_start[442779];
extern MVMuint8 _binary_QASTNode_moarvm_start[121887];
extern MVMuint8 _binary_QRegex_moarvm_start[153762];
int main(int argc, char *argv[]) {
MVMInstance *vm = MVM_vm_create_instance();
MVM_vm_register_bytecode(vm, "MASTNodes.moarvm", _binary_MASTNodes_moarvm_start, sizeof _binary_MASTNodes_moarvm_start);
MVM_vm_register_bytecode(vm, "MASTOps.moarvm", _binary_MASTOps_moarvm_start, sizeof _binary_MASTOps_moarvm_start);
MVM_vm_register_bytecode(vm, "ModuleLoader.moarvm", _binary_ModuleLoader_moarvm_start, sizeof _binary_ModuleLoader_moarvm_start);
MVM_vm_register_bytecode(vm, "NQPCORE.setting.moarvm", _binary_NQPCORE_setting_moarvm_start, sizeof _binary_NQPCORE_setting_moarvm_start);
MVM_vm_register_bytecode(vm, "NQPHLL.moarvm", _binary_NQPHLL_moarvm_start, sizeof _binary_NQPHLL_moarvm_start);
MVM_vm_register_bytecode(vm, "nqpmo.moarvm", _binary_nqpmo_moarvm_start, sizeof _binary_nqpmo_moarvm_start);
MVM_vm_register_bytecode(vm, "NQPP5QRegex.moarvm", _binary_NQPP5QRegex_moarvm_start, sizeof _binary_NQPP5QRegex_moarvm_start);
MVM_vm_register_bytecode(vm, "NQPP6QRegex.moarvm", _binary_NQPP6QRegex_moarvm_start, sizeof _binary_NQPP6QRegex_moarvm_start);
MVM_vm_register_bytecode(vm, "QAST.moarvm", _binary_QAST_moarvm_start, sizeof _binary_QAST_moarvm_start);
MVM_vm_register_bytecode(vm, "QASTNode.moarvm", _binary_QASTNode_moarvm_start, sizeof _binary_QASTNode_moarvm_start);
MVM_vm_register_bytecode(vm, "QRegex.moarvm", _binary_QRegex_moarvm_start, sizeof _binary_QRegex_moarvm_start);
MVM_vm_set_clargs(vm, argc - 1, argv + 1);
MVM_vm_set_prog_name(vm, "nqp");
MVM_vm_set_exec_name(vm, "nqp");
MVM_vm_run_bytecode(vm, "nqp.moarvm", _binary_nqp_moarvm_start, sizeof _binary_nqp_moarvm_start);
MVM_vm_exit(vm);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment