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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#![crate_type = "lib"]
#![feature(try_blocks)]
//#![feature(nll)]
#![feature(raw)]
#![feature(inner_deref)]
#![feature(is_sorted)]
#![feature(cell_update)]
#![feature(get_mut_unchecked)]
#![feature(specialization)]
#![feature(coerce_unsized)]
#![feature(unsize)]
#![warn(rust_2018_idioms)]
#![warn(missing_docs)] // warn if there is missing docs
#![warn(missing_debug_implementations)]
#![warn(trivial_numeric_casts)]
//! # Antlr4 runtime
//!
//! !! not production ready, but pretty close.
//! Api very likely will be changed,
//! but it is fully functional so you can use it for experimentation and proof of concepts.
//!
//! This is a Rust runtime for [ANTLR4] parser generator.
//! It is required to use parsers and lexers generated by [ANTLR4] parser generator
//!
//! This documentation refers to particular api used by generated parsers,lexers and syntax trees.
//!
//! For info on how to generate parser please refer to:
//!  - [ANTLR4] main repository
//!  - [README](https://github.com/rrevenantt/antlr4rust/blob/master/README.md) for Rust target
//!
//! [ANTLR4]: https://github.com/antlr/antlr4

#[macro_use]
extern crate lazy_static;
//extern crate uuid;

pub use prediction_context::PredictionContextCache;

mod ll1_analyzer;
pub mod common_token_factory;
pub mod recognizer;
pub mod int_stream;
pub mod lexer_action;
pub mod atn_simulator;
pub mod atn_config;
//pub mod tokenstream_rewriter;
pub mod semantic_context;
pub mod dfa_state;
pub mod atn_state;
pub mod parser_rule_context;
mod prediction_context;
pub mod interval_set;
pub mod token_source;
pub mod atn_deserialization_options;
pub mod token_stream;
pub mod char_stream;
//pub mod trace_listener;
pub mod transition;
pub mod tree;
pub mod dfa;
//pub mod file_stream;
pub mod atn_deserializer;
pub mod token;
mod utils;
pub mod trees;
pub mod atn_config_set;
pub mod error_listener;
pub mod prediction_mode;
pub mod input_stream;
pub mod common_token_stream;
pub mod lexer;
mod dfa_serializer;
pub mod lexer_atn_simulator;
pub mod atn;
pub mod errors;
pub mod error_strategy;
pub mod lexer_action_executor;
pub mod parser;
pub mod parser_atn_simulator;
//pub mod tokenstream_rewriter_test;
pub mod atn_type;
pub mod rule_context;
pub mod vocabulary;

//#[cfg(test)]
// tests are either integration tests in "tests" foulder or unit tests in some modules