1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
/* * Copyright 2017 Nazar Mishturak * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #[macro_use] extern crate nom; mod types; pub use types::*; mod util; mod commands; use commands::*; named!(pub parse(&str) -> Vec<Command>, separated_list_complete!( one_of!(";\x03"), ws!(command) ) ); /* #[cfg(test)] mod tests { use super::*; use std::convert::Into; use nom::IResult; const EMPTY_U8_SLICE: &'static [u8] = &[]; #[test] fn dummy_parse_works() { assert_eq!( parse( br#" IN; DF;CO"Creation Date: 28-07-2017"; IN; SC ; IP1,2,3,4; IN"#, ), IResult::Done( EMPTY_U8_SLICE, vec![ Command::Initialize, Command::Default, Command::Comment("Creation Date: 28-07-2017".into()), Command::Initialize, Command::Scale, Command::InputP1P2(((1, 2), (3, 4))), Command::Initialize, ], ) ); } } */