warpack_lua_parser/
lib.rs

1use pest_derive::*;
2
3pub use pest::Parser;
4
5#[derive(Parser)]
6#[grammar = "lua.pest"]
7pub struct LuaParser;
8
9#[cfg(test)]
10mod test {
11    use super::LuaParser;
12    use super::Rule;
13    use pest::Parser;
14
15    #[test]
16    fn lua_test_suite() {
17        LuaParser::parse(Rule::Chunk, include_str!("test-cases/all.lua")).unwrap();
18        LuaParser::parse(Rule::Chunk, include_str!("test-cases/api.lua")).unwrap();
19        LuaParser::parse(Rule::Chunk, include_str!("test-cases/attrib.lua")).unwrap();
20        LuaParser::parse(Rule::Chunk, include_str!("test-cases/big.lua")).unwrap();
21        LuaParser::parse(Rule::Chunk, include_str!("test-cases/bitwise.lua")).unwrap();
22        LuaParser::parse(Rule::Chunk, include_str!("test-cases/calls.lua")).unwrap();
23        LuaParser::parse(Rule::Chunk, include_str!("test-cases/closure.lua")).unwrap();
24        LuaParser::parse(Rule::Chunk, include_str!("test-cases/code.lua")).unwrap();
25        LuaParser::parse(Rule::Chunk, include_str!("test-cases/constructs.lua")).unwrap();
26        LuaParser::parse(Rule::Chunk, include_str!("test-cases/coroutine.lua")).unwrap();
27        LuaParser::parse(Rule::Chunk, include_str!("test-cases/db.lua")).unwrap();
28        LuaParser::parse(Rule::Chunk, include_str!("test-cases/errors.lua")).unwrap();
29        LuaParser::parse(Rule::Chunk, include_str!("test-cases/events.lua")).unwrap();
30        LuaParser::parse(Rule::Chunk, include_str!("test-cases/files.lua")).unwrap();
31        LuaParser::parse(Rule::Chunk, include_str!("test-cases/gc.lua")).unwrap();
32        LuaParser::parse(Rule::Chunk, include_str!("test-cases/goto.lua")).unwrap();
33        LuaParser::parse(Rule::Chunk, include_str!("test-cases/literals.lua")).unwrap();
34        LuaParser::parse(Rule::Chunk, include_str!("test-cases/locals.lua")).unwrap();
35        LuaParser::parse(Rule::Chunk, include_str!("test-cases/main.lua")).unwrap();
36        LuaParser::parse(Rule::Chunk, include_str!("test-cases/math.lua")).unwrap();
37        LuaParser::parse(Rule::Chunk, include_str!("test-cases/nextvar.lua")).unwrap();
38        LuaParser::parse(Rule::Chunk, include_str!("test-cases/pm.lua")).unwrap();
39        LuaParser::parse(Rule::Chunk, include_str!("test-cases/sort.lua")).unwrap();
40        LuaParser::parse(Rule::Chunk, include_str!("test-cases/strings.lua")).unwrap();
41        LuaParser::parse(Rule::Chunk, include_str!("test-cases/tpack.lua")).unwrap();
42        LuaParser::parse(Rule::Chunk, include_str!("test-cases/utf8.lua")).unwrap();
43        LuaParser::parse(Rule::Chunk, include_str!("test-cases/vararg.lua")).unwrap();
44        LuaParser::parse(Rule::Chunk, include_str!("test-cases/verybig.lua")).unwrap();
45    }
46}