mumuregex/
lib.rs

1mod common;
2mod regex;
3
4use std::ffi::c_void;
5use mumu::parser::interpreter::Interpreter;
6
7use regex::find_all::register_regex_find_all;
8use regex::match_fn::register_regex_match;
9use regex::replace::register_regex_replace;
10use regex::split::register_regex_split;
11use regex::search::register_regex_search;
12use regex::test::register_regex_test;
13use regex::full_match::register_regex_full_match;
14use regex::to_string::register_regex_to_string;
15use regex::from_string::register_regex_from_string;
16
17pub fn register_all(interp: &mut Interpreter) {
18    register_regex_find_all(interp);
19    register_regex_match(interp);
20    register_regex_replace(interp);
21    register_regex_split(interp);
22    register_regex_search(interp);
23    register_regex_test(interp);
24    register_regex_full_match(interp);
25    register_regex_to_string(interp);
26    register_regex_from_string(interp);
27}
28
29#[no_mangle]
30pub extern "C" fn Cargo_lock(interp_ptr: *mut c_void, _unused: *const c_void) -> i32 {
31    if interp_ptr.is_null() { return -1; }
32    let interp = unsafe { &mut *(interp_ptr as *mut Interpreter) };
33    register_all(interp);
34    0
35}