Rust编写的JavaScript引擎,该项目是一个试验性质的项目。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

23 lines
599 B

6 years ago
extern crate boa;
6 years ago
use boa::exec::{Executor, Interpreter};
6 years ago
use boa::syntax::lexer::Lexer;
use boa::syntax::parser::Parser;
6 years ago
use std::fs::read_to_string;
pub fn main() {
6 years ago
let buffer = read_to_string("tests/js/test.js").unwrap();
let mut lexer = Lexer::new(&buffer);
lexer.lex().unwrap();
let tokens = lexer.tokens;
6 years ago
// Setup executor
let expr = Parser::new(tokens).parse_all().unwrap();
6 years ago
let mut engine: Interpreter = Executor::new();
let result = engine.run(&expr);
match result {
Ok(v) => print!("{}", v),
Err(v) => print!("Error: {}", v),
}
}