1樓:MashPlant
推薦我自己寫的
GitHub - MashPlant/lalr1: An LALR1(1)/LL(1) parser generator in Rust, for multiple languages.
同樣使用過程巨集,語法稍微繁瑣些,但能很好地配合IDE使用。支援優先順序和結合性,四則運算的例子如下:
struct
Parser
;#[parser_macros::lalr1(Expr)]#[lex = r##
"priority = [ # only useful in lalr1 mode,,
,,][lexical]
'\(' = 'LPar'
'\)' = 'RPar'
'\+' = 'Add'
'-' = 'Sub'
'\*' = 'Mul'
'/' = 'Div'
'%' = 'Mod'
'\d+' = 'IntLit'
'\s+' = '_Eps'
"##]
impl
Parser
#[rule =
"Expr -> Expr Sub Expr"]fnexpr_sub
(l: i32
,_op: Token
,r: i32
)-> i32
#[rule =
"Expr -> Expr Mul Expr"]fnexpr_mul
(l: i32
,_op: Token
,r: i32
)-> i32
#[rule =
"Expr -> Expr Div Expr"]fnexpr_div
(l: i32
,_op: Token
,r: i32
)-> i32
#[rule =
"Expr -> Expr Mod Expr"]fnexpr_mod
(l: i32
,_op: Token
,r: i32
)-> i32
#[rule =
"Expr -> Sub Expr"
]#[prec =
"UMinus"]fn
expr_neg
(_op: Token
,r: i32
)-> i32
#[rule =
"Expr -> LPar Expr RPar"]fnexpr_paren
(_l: Token
,i: i32
,_r: Token
)-> i32
#[rule =
"Expr -> IntLit"]fn
expr_int
(i: Token
)-> i32}fn
main()
有什麼好用的滑鼠?
國榮 工作滑鼠和遊戲滑鼠兩種吧,工作滑鼠的話不太瞭解,羅技那個mx好像不錯,遊戲滑鼠只瞭解fps類的滑鼠 大概分對稱,人體工程學兩種 對稱的話 endgame gear xm1 第二版很好用,塗層細膩,汗手一點也不怕,線材應該是我用過最輕的了 gpw 現在在用,沒有線材束縛真挺爽的,18cm手正正好...
有什麼好用的文具
山不過來 高二文科狗別的沒有就是文具多 筆類最常使用的就是三菱155和斑馬防暈染的,三菱um155非常順滑!寫作業必備!斑馬的也是筆記專用,上課記也不會字太亂 紅筆之前最常用的百樂p500,然後太長壽了用煩了就換了斑馬復古酒紅,都很順滑好用 但輕鬆熊那個不推薦,感覺顏色太輕浮了 熒光筆我就這些,都是...
有什麼好用的Android Studio的外掛值得推薦?
唔,看到了不少不錯了外掛。大多數推薦的外掛都是正能量的,有利於提高大家的開發效率。我來推薦一個負能量的外掛 SmartQQ,這是一個防Boss的外掛,可以在Intellij的IDE使用SmartQQ協議進行聊天。 MsCindy 發現了這個把答案放這兒留著以後用。 鄭海波 Android Codeg...
有什麼好用的眼罩推薦
Slim居家測評師 最痛苦的事情,就是睡不著!每個失眠的夜晚,只能在數羊咩咩和餃子,還有就是在床上翻來覆去中度過。第二天帶著厚厚的黑眼圈出門,實在是影響形象。今天給大家安利幾款睡眠眼罩,既能遮光助眠,顏值也夠高。Sleepsheep慢回彈眼罩是3D立體造型,依循人體臉部生理結構舒適的弧度來設計,戴上...
有什麼好用的護手霜嗎?
Angel 雖然說一到了秋冬,哪兒都乾燥!我們都知道到秋冬啊,我們需要給我們的臉做好補水 做好保溼,但是我們是不是忘掉了我們的手,其實比我們的臉更加容易乾燥缺水,真的是要每天洗十幾次手,還要消毒,然後手就變得特別的乾燥,而且還會長倒刺!護手霜的話有幾個點要好聞,好用,便宜,不油膩,清爽等等最後我選了...