//! Fluent Translation List parsing utilities //! //! FTL resources can be parsed using one of two methods: //! * [`parse`] - parses an input into a complete Abstract Syntax Tree representation with all source information preserved. //! * [`parse_runtime`] - parses an input into a runtime optimized Abstract Syntax Tree //! representation with comments stripped. //! //! # Example //! //! ``` //! use fluent_syntax::parser; //! use fluent_syntax::ast; //! //! let ftl = r#" //! #### Resource Level Comment //! //! ## This is a message comment //! hello-world = Hello World! //! //! "#; //! //! let resource = parser::parse(ftl) //! .expect("Failed to parse an FTL resource."); //! //! assert_eq!( //! resource.body[0], //! ast::Entry::ResourceComment( //! ast::Comment { //! content: vec![ //! "Resource Level Comment" //! ] //! } //! ) //! ); //! assert_eq!( //! resource.body[1], //! ast::Entry::Message( //! ast::Message { //! id: ast::Identifier { //! name: "hello-world" //! }, //! value: Some(ast::Pattern { //! elements: vec![ //! ast::PatternElement::TextElement { //! value: "Hello World!" //! }, //! ] //! }), //! attributes: vec![], //! comment: Some( //! ast::Comment { //! content: vec!["This is a message comment"] //! } //! ) //! } //! ), //! ); //! ``` //! //! # Error Recovery //! //! In both modes the parser is lenient, attempting to recover from errors. //! //! The [`Result`] return the resulting AST in both scenarios, and in the //! error scenario a vector of [`ParserError`] elements is returned as well. //! //! Any unparsed parts of the input are returned as [`ast::Entry::Junk`] elements. #[macro_use] mod errors; #[macro_use] mod macros; mod comment; mod core; mod expression; mod helper; mod pattern; mod runtime; mod slice;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.