diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:02:58 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:02:58 +0000 |
commit | 698f8c2f01ea549d77d7dc3338a12e04c11057b9 (patch) | |
tree | 173a775858bd501c378080a10dca74132f05bc50 /vendor/pest_meta/src/lib.rs | |
parent | Initial commit. (diff) | |
download | rustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.tar.xz rustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.zip |
Adding upstream version 1.64.0+dfsg1.upstream/1.64.0+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | vendor/pest_meta/src/lib.rs | 134 |
1 files changed, 134 insertions, 0 deletions
diff --git a/vendor/pest_meta/src/lib.rs b/vendor/pest_meta/src/lib.rs new file mode 100644 index 000000000..1f9c5bcb6 --- /dev/null +++ b/vendor/pest_meta/src/lib.rs @@ -0,0 +1,134 @@ +// pest. The Elegant Parser +// Copyright (c) 2018 DragoČ™ Tiselice +// +// Licensed under the Apache License, Version 2.0 +// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT +// license <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. All files in the project carrying such notice may not be copied, +// modified, or distributed except according to those terms. + +#![allow(clippy::range_plus_one)] + +extern crate maplit; +#[cfg(test)] +#[macro_use] +extern crate pest; +#[cfg(not(test))] +extern crate pest; + +use std::fmt::Display; + +pub mod ast; +pub mod optimizer; +pub mod parser; +pub mod validator; + +pub fn unwrap_or_report<T, E>(result: Result<T, E>) -> T +where + E: IntoIterator, + E::Item: Display, +{ + result.unwrap_or_else(|e| { + panic!( + "grammar error\n\n".to_owned() + + &e.into_iter() + .map(|error| format!("{}", error)) + .collect::<Vec<_>>() + .join("\n\n") + ) + }) +} + +#[doc(hidden)] +pub static UNICODE_PROPERTY_NAMES: &[&str] = &[ + /* BINARY */ "ALPHABETIC", + "BIDI_CONTROL", + "CASE_IGNORABLE", + "CASED", + "CHANGES_WHEN_CASEFOLDED", + "CHANGES_WHEN_CASEMAPPED", + "CHANGES_WHEN_LOWERCASED", + "CHANGES_WHEN_TITLECASED", + "CHANGES_WHEN_UPPERCASED", + "DASH", + "DEFAULT_IGNORABLE_CODE_POINT", + "DEPRECATED", + "DIACRITIC", + "EXTENDER", + "GRAPHEME_BASE", + "GRAPHEME_EXTEND", + "GRAPHEME_LINK", + "HEX_DIGIT", + "HYPHEN", + "IDS_BINARY_OPERATOR", + "IDS_TRINARY_OPERATOR", + "ID_CONTINUE", + "ID_START", + "IDEOGRAPHIC", + "JOIN_CONTROL", + "LOGICAL_ORDER_EXCEPTION", + "LOWERCASE", + "MATH", + "NONCHARACTER_CODE_POINT", + "OTHER_ALPHABETIC", + "OTHER_DEFAULT_IGNORABLE_CODE_POINT", + "OTHER_GRAPHEME_EXTEND", + "OTHER_ID_CONTINUE", + "OTHER_ID_START", + "OTHER_LOWERCASE", + "OTHER_MATH", + "OTHER_UPPERCASE", + "PATTERN_SYNTAX", + "PATTERN_WHITE_SPACE", + "PREPENDED_CONCATENATION_MARK", + "QUOTATION_MARK", + "RADICAL", + "REGIONAL_INDICATOR", + "SENTENCE_TERMINAL", + "SOFT_DOTTED", + "TERMINAL_PUNCTUATION", + "UNIFIED_IDEOGRAPH", + "UPPERCASE", + "VARIATION_SELECTOR", + "WHITE_SPACE", + "XID_CONTINUE", + "XID_START", + /* CATEGORY */ "CASED_LETTER", + "CLOSE_PUNCTUATION", + "CONNECTOR_PUNCTUATION", + "CONTROL", + "CURRENCY_SYMBOL", + "DASH_PUNCTUATION", + "DECIMAL_NUMBER", + "ENCLOSING_MARK", + "FINAL_PUNCTUATION", + "FORMAT", + "INITIAL_PUNCTUATION", + "LETTER", + "LETTER_NUMBER", + "LINE_SEPARATOR", + "LOWERCASE_LETTER", + "MARK", + "MATH_SYMBOL", + "MODIFIER_LETTER", + "MODIFIER_SYMBOL", + "NONSPACING_MARK", + "NUMBER", + "OPEN_PUNCTUATION", + "OTHER", + "OTHER_LETTER", + "OTHER_NUMBER", + "OTHER_PUNCTUATION", + "OTHER_SYMBOL", + "PARAGRAPH_SEPARATOR", + "PRIVATE_USE", + "PUNCTUATION", + "SEPARATOR", + "SPACE_SEPARATOR", + "SPACING_MARK", + "SURROGATE", + "SYMBOL", + "TITLECASE_LETTER", + "UNASSIGNED", + "UPPERCASE_LETTER", +]; |