]> git.proxmox.com Git - rustc.git/blob - vendor/pest_meta/src/lib.rs
New upstream version 1.65.0+dfsg1
[rustc.git] / vendor / pest_meta / src / lib.rs
1 // pest. The Elegant Parser
2 // Copyright (c) 2018 DragoČ™ Tiselice
3 //
4 // Licensed under the Apache License, Version 2.0
5 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT
6 // license <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
7 // option. All files in the project carrying such notice may not be copied,
8 // modified, or distributed except according to those terms.
9
10 extern crate once_cell;
11 #[cfg(test)]
12 #[macro_use]
13 extern crate pest;
14 #[cfg(not(test))]
15 extern crate pest;
16
17 use std::fmt::Display;
18
19 pub mod ast;
20 pub mod optimizer;
21 pub mod parser;
22 pub mod validator;
23
24 pub fn unwrap_or_report<T, E>(result: Result<T, E>) -> T
25 where
26 E: IntoIterator,
27 E::Item: Display,
28 {
29 result.unwrap_or_else(|e| {
30 panic!(
31 "grammar error\n\n{}",
32 &e.into_iter()
33 .map(|error| format!("{}", error))
34 .collect::<Vec<_>>()
35 .join("\n\n")
36 )
37 })
38 }
39
40 #[doc(hidden)]
41 pub static UNICODE_PROPERTY_NAMES: &[&str] = &[
42 /* BINARY */
43 "ALPHABETIC",
44 "BIDI_CONTROL",
45 "CASE_IGNORABLE",
46 "CASED",
47 "CHANGES_WHEN_CASEFOLDED",
48 "CHANGES_WHEN_CASEMAPPED",
49 "CHANGES_WHEN_LOWERCASED",
50 "CHANGES_WHEN_TITLECASED",
51 "CHANGES_WHEN_UPPERCASED",
52 "DASH",
53 "DEFAULT_IGNORABLE_CODE_POINT",
54 "DEPRECATED",
55 "DIACRITIC",
56 "EXTENDER",
57 "GRAPHEME_BASE",
58 "GRAPHEME_EXTEND",
59 "GRAPHEME_LINK",
60 "HEX_DIGIT",
61 "HYPHEN",
62 "IDS_BINARY_OPERATOR",
63 "IDS_TRINARY_OPERATOR",
64 "ID_CONTINUE",
65 "ID_START",
66 "IDEOGRAPHIC",
67 "JOIN_CONTROL",
68 "LOGICAL_ORDER_EXCEPTION",
69 "LOWERCASE",
70 "MATH",
71 "NONCHARACTER_CODE_POINT",
72 "OTHER_ALPHABETIC",
73 "OTHER_DEFAULT_IGNORABLE_CODE_POINT",
74 "OTHER_GRAPHEME_EXTEND",
75 "OTHER_ID_CONTINUE",
76 "OTHER_ID_START",
77 "OTHER_LOWERCASE",
78 "OTHER_MATH",
79 "OTHER_UPPERCASE",
80 "PATTERN_SYNTAX",
81 "PATTERN_WHITE_SPACE",
82 "PREPENDED_CONCATENATION_MARK",
83 "QUOTATION_MARK",
84 "RADICAL",
85 "REGIONAL_INDICATOR",
86 "SENTENCE_TERMINAL",
87 "SOFT_DOTTED",
88 "TERMINAL_PUNCTUATION",
89 "UNIFIED_IDEOGRAPH",
90 "UPPERCASE",
91 "VARIATION_SELECTOR",
92 "WHITE_SPACE",
93 "XID_CONTINUE",
94 "XID_START",
95 /* CATEGORY */
96 "CASED_LETTER",
97 "CLOSE_PUNCTUATION",
98 "CONNECTOR_PUNCTUATION",
99 "CONTROL",
100 "CURRENCY_SYMBOL",
101 "DASH_PUNCTUATION",
102 "DECIMAL_NUMBER",
103 "ENCLOSING_MARK",
104 "FINAL_PUNCTUATION",
105 "FORMAT",
106 "INITIAL_PUNCTUATION",
107 "LETTER",
108 "LETTER_NUMBER",
109 "LINE_SEPARATOR",
110 "LOWERCASE_LETTER",
111 "MARK",
112 "MATH_SYMBOL",
113 "MODIFIER_LETTER",
114 "MODIFIER_SYMBOL",
115 "NONSPACING_MARK",
116 "NUMBER",
117 "OPEN_PUNCTUATION",
118 "OTHER",
119 "OTHER_LETTER",
120 "OTHER_NUMBER",
121 "OTHER_PUNCTUATION",
122 "OTHER_SYMBOL",
123 "PARAGRAPH_SEPARATOR",
124 "PRIVATE_USE",
125 "PUNCTUATION",
126 "SEPARATOR",
127 "SPACE_SEPARATOR",
128 "SPACING_MARK",
129 "SURROGATE",
130 "SYMBOL",
131 "TITLECASE_LETTER",
132 "UNASSIGNED",
133 "UPPERCASE_LETTER",
134 ];