mirror of
https://github.com/erg-lang/erg.git
synced 2025-09-29 12:24:45 +00:00
parent
970b88f00e
commit
1c29e21aa4
3 changed files with 54 additions and 3 deletions
|
@ -2,6 +2,7 @@ extern crate erg_common;
|
|||
extern crate erg_parser;
|
||||
|
||||
use std::process;
|
||||
use std::thread;
|
||||
|
||||
use erg_common::config::ErgConfig;
|
||||
use erg_common::traits::Runnable;
|
||||
|
@ -9,7 +10,7 @@ use erg_common::traits::Runnable;
|
|||
use erg_parser::lex::LexerRunner;
|
||||
use erg_parser::ParserRunner;
|
||||
|
||||
fn main() {
|
||||
fn run() {
|
||||
let cfg = ErgConfig::parse();
|
||||
match cfg.mode {
|
||||
"lex" => {
|
||||
|
@ -24,3 +25,19 @@ fn main() {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
if cfg!(windows) {
|
||||
const STACK_SIZE: usize = 4 * 1024 * 1024;
|
||||
|
||||
let child = thread::Builder::new()
|
||||
.stack_size(STACK_SIZE)
|
||||
.spawn(run)
|
||||
.unwrap();
|
||||
|
||||
// Wait for thread to join
|
||||
child.join().unwrap();
|
||||
} else {
|
||||
run();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue