|
Download llama.cpp/tools/ui/node_modules/@mermaid-js/parser/README.md from NGMISystems/test-check: direct link, hf CLI and curl.
- Browser
- Download file 1.56 kB
-
https://huggingface.co/NGMISystems/test-check/resolve/main/llama.cpp/tools/ui/node_modules/%40mermaid-js/parser/README.md
- Command line
-
hf download hf://NGMISystems/test-check/llama.cpp/tools/ui/node_modules/@mermaid-js/parser/README.md
-
curl -L -o README.md https://huggingface.co/NGMISystems/test-check/resolve/main/llama.cpp/tools/ui/node_modules/%40mermaid-js/parser/README.md
1.56 kB
| <p align="center"> | |
| <img src="https://raw.githubusercontent.com/mermaid-js/mermaid/develop/docs/public/favicon.svg" height="150"> | |
| </p> | |
| <h1 align="center"> | |
| Mermaid Parser | |
| </h1> | |
| <p align="center"> | |
| Mermaid parser package | |
| <p> | |
| [](https://www.npmjs.com/package/@mermaid-js/parser) | |
| ## How the package works | |
| The package exports a `parse` function that has two parameters: | |
| ```ts | |
| declare function parse<T extends DiagramAST>( | |
| diagramType: keyof typeof initializers, | |
| text: string | |
| ): T; | |
| ``` | |
| ## How does a Langium-based parser work? | |
| ```mermaid | |
| sequenceDiagram | |
| actor Package | |
| participant Module | |
| participant TokenBuilder | |
| participant Lexer | |
| participant Parser | |
| participant ValueConverter | |
| Package ->> Module: Create services | |
| Module ->> TokenBuilder: Override or/and<br>reorder rules | |
| TokenBuilder ->> Lexer: Read the string and transform<br>it into a token stream | |
| Lexer ->> Parser: Parse token<br>stream into AST | |
| Parser ->> ValueConverter: Clean/modify tokenized<br>rules returned value | |
| ValueConverter -->> Package: Return AST | |
| ``` | |
| - When to override `TokenBuilder`? | |
| - To override keyword rules. | |
| - To override terminal rules that need a custom function. | |
| - To manually reorder the list of rules. | |
| - When to override `Lexer`? | |
| - To modify input before tokenizing. | |
| - To insert/modify tokens that cannot or have not been parsed. | |
| - When to override `LangiumParser`? | |
| - To insert or modify attributes that can't be parsed. | |
| - When to override `ValueConverter`? | |
| - To modify the returned value from the parser. | |