Skip to content

Commit

Permalink
feat: rewrite the scanner in C (#221)
Browse files Browse the repository at this point in the history
* feat: rewrite the scanner in C

* chore: update manifests
  • Loading branch information
amaanq committed Jun 23, 2023
1 parent 6282715 commit 6ecc2b5
Show file tree
Hide file tree
Showing 4 changed files with 493 additions and 431 deletions.
2 changes: 1 addition & 1 deletion binding.gyp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"sources": [
"src/parser.c",
"bindings/node/binding.cc",
"src/scanner.cc"
"src/scanner.c"
],
"cflags_c": [
"-std=c99",
Expand Down
23 changes: 7 additions & 16 deletions bindings/rust/build.rs
Original file line number Diff line number Diff line change
@@ -1,28 +1,19 @@
use std::path::Path;
extern crate cc;

fn main() {
let src_dir = Path::new("src");
let src_dir = std::path::Path::new("src");

let mut c_config = cc::Build::new();
c_config.include(&src_dir);
c_config.include(src_dir);
c_config
.flag_if_supported("-Wno-unused-parameter")
.flag_if_supported("-Wno-unused-but-set-variable")
.flag_if_supported("-Wno-trigraphs");
let parser_path = src_dir.join("parser.c");
c_config.file(&parser_path);
println!("cargo:rerun-if-changed={}", parser_path.to_str().unwrap());
c_config.compile("parser");

let mut cpp_config = cc::Build::new();
cpp_config.cpp(true);
cpp_config.include(&src_dir);
cpp_config
.flag_if_supported("-Wno-unused-parameter")
.flag_if_supported("-Wno-unused-but-set-variable");
let scanner_path = src_dir.join("scanner.cc");
cpp_config.file(&scanner_path);
let scanner_path = src_dir.join("scanner.c");
c_config.file(&scanner_path);
println!("cargo:rerun-if-changed={}", scanner_path.to_str().unwrap());
cpp_config.compile("scanner");

c_config.compile("parser");
println!("cargo:rerun-if-changed={}", parser_path.to_str().unwrap());
}
Loading

0 comments on commit 6ecc2b5

Please sign in to comment.