1 // Copyright (c) Facebook, Inc. and its affiliates.
3 // This source code is licensed under the MIT license found in the
4 // LICENSE file in the "hack" directory of this source tree.
6 //! # parser_core_types: Data type definitions for the Hack parser
8 //! This crate contains data definitions and commonly-used types
9 //! used within and outside of the Hack parser. This library is separated
10 //! from the parser proper for two reasons:
12 //! 1. The Rust compiler is notoriously slow and splitting up "cold" or
13 //! infrequently changed data type definitions from the parser code
14 //! speeds up the build.
15 //! 2. Separating the data definitions from the code makes it a little
16 //! easier to reason about the structure of the parser.
18 pub mod indexed_source_text;
19 pub mod lexable_token;
20 pub mod lexable_trivia;
21 pub mod minimal_syntax;
22 pub mod minimal_token;
23 pub mod minimal_trivia;
24 pub mod positioned_syntax;
25 pub mod positioned_token;
26 pub mod positioned_trivia;