這是我抄的代碼:
// Tested against syntex_syntax v0.33
extern crate syntex_syntax as syntax;
use std::rc::Rc;
use syntax::codemap::{CodeMap};
use syntax::errors::{Handler};
use syntax::errors::emitter::{ColorConfig};
use syntax::parse::{self, ParseSess};
fn main() {
let codemap = Rc::new(CodeMap::new());
let tty_handler =
Handler::with_tty_emitter(ColorConfig::Auto, None, true, false, codemap.clone());
let parse_session = ParseSess::with_span_handler(tty_handler, codemap.clone());
let src = "fn foo(x: i64) { let y = x + 1; return y; }".to_owned();
let result = parse::parse_crate_from_source_str(String::new(), src, Vec::new(), &parse_session);
println!("parse result: {:?}", result);
}
首先,要建立一個
[package]
name = "aa"
authors = ["me"]
version = "0.1.0"
[dependencies]
syntex_syntax = "0.59.1"
少一個字段就不行,rust說必須給我加上
.
然後cargo build
我叉,又是66個包
.編譯非常之久.
我一運行,我叉,運行出錯了.
,然後我把這個包刪掉,我叉
,佔用了我300M
,這都是一堆垃圾.爲什麼佔用我這麼多的空間.
總之,rust
不是我喜歡的類型,簡直是搞笑
的語言.
必須得用rustup default nightly
,每晚版,否則不能執行rustc -Z ast-json
,即生成不了ast
.我真的覺得很多外國人腦袋有問題,沒一個軟件讓你不折騰的
.