1#![cfg_attr(all(test, feature = "bench"), feature(test))]
4
5#![warn(missing_docs)]
6#![doc(html_root_url = "https://docs.rs/esparse/0.1.0")]
7
8#[macro_use]
9extern crate matches;
10extern crate memchr;
11extern crate unicode_xid;
12
13#[cfg(test)]
14#[macro_use]
15extern crate cfg_if;
16
17#[macro_use]
18pub mod lex;
19pub mod skip;
20pub mod ast;
21
22pub use ast::{Loc, Span};
23
24#[doc(hidden)]
25#[derive(Debug, Clone, PartialEq, Eq, Hash)]
26pub struct ParseOptions<'a> {
27 pub first_line: usize,
28 pub file_name: &'a str,
29}
30
31impl<'a> Default for ParseOptions<'a> {
32 fn default() -> Self {
33 ParseOptions {
34 first_line: 0,
35 file_name: "<input>",
36 }
37 }
38}
39
40#[doc(hidden)]
41pub fn parse_script(_input: &str, _options: ParseOptions) -> ! {
42 unimplemented!()
43}
44#[doc(hidden)]
45pub fn parse_module(_input: &str, _options: ParseOptions) -> ! {
46 unimplemented!()
47}
48#[doc(hidden)]
49pub fn parse_expr(_input: &str, _options: ParseOptions) -> ! {
50 unimplemented!()
51}
52
53#[cfg(test)]
54mod test {
55}