https://github.com/fogarecious/rustemo_tutorial
Tutorial of Rustemo
https://github.com/fogarecious/rustemo_tutorial
rust rustemo tutorial
Last synced: 10 days ago
JSON representation
Tutorial of Rustemo
- Host: GitHub
- URL: https://github.com/fogarecious/rustemo_tutorial
- Owner: fogarecious
- Created: 2024-06-15T08:43:52.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-07-26T09:06:11.000Z (over 1 year ago)
- Last Synced: 2025-06-16T20:45:10.698Z (8 months ago)
- Topics: rust, rustemo, tutorial
- Homepage:
- Size: 49.8 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Simple Rustemo Tutorial
[Rustemo](https://github.com/igordejanovic/rustemo) is a parser generator written in [Rust](https://www.rust-lang.org/), where a parser is able to parse some input according to a predefined grammar.
This tutorial serves as a quick start for [Rustemo](https://github.com/igordejanovic/rustemo).
We try to keep each part of the tutorial as simple as possible.
## Quick Start
* [Installation](./tutorial/installation.md)
* First Example
* [Parser Generation](./tutorial/parser_generation.md)
* [A Project Template For Parsing](./tutorial/a_project_template_for_parsing.md)
* [Parsing](./tutorial/parsing.md)
* [Changing Parser Actions](./tutorial/changing_parser_actions.md)
* [Workflow](./tutorial/workflow.md)
## Grammar
* [Grammar File Format](./tutorial/grammar_file_format.md)
* [Comments](./tutorial/comments.md)
* Terminals
* [String Terminals](./tutorial/string_terminals.md)
* [Regex Terminals](./tutorial/regex_terminals.md)
* Grammar Rules
* [Using Terminals In Expressions](./tutorial/using_terminals_in_expressions.md)
* [Using Grammar Symbols In Expressions](./tutorial/using_grammar_symbols_in_expressions.md)
* [Empty String](./tutorial/empty_string.md)
* [Or](./tutorial/or.md)
* [Optional](./tutorial/optional.md)
* [One Or More](./tutorial/one_or_more.md)
* [Zero Or More](./tutorial/zero_or_more.md)
* [Separators](./tutorial/separators.md)
* Disambiguation
* [Ambiguous Grammar](./tutorial/ambiguous_grammar.md)
* [Disambiguation By Associativity](./tutorial/disambiguation_by_associativity.md)
* [Disambiguation By Priority](./tutorial/disambiguation_by_priority.md)
* More About Priority
* [Operator Precedence](./tutorial/operator_precedence.md)
* [Terminal Priority](./tutorial/terminal_priority.md)
* [Skipping Parts Of Input](./tutorial/skipping_parts_of_input.md)
## Actions
* Names In The Action File
* [Default Names For Terminals](./tutorial/default_names_for_terminals.md)
* [Default Names For Grammar Rules](./tutorial/default_names_for_grammar_rules.md)
* Default Actions
* [Default Actions For Terminals](./tutorial/default_actions_for_terminals.md)
* [Default Actions For Grammar Rules](./tutorial/default_actions_for_grammar_rules.md)
* Custom Actions
* Changing Actions
* [Changing Actions For Terminals](./tutorial/changing_actions_for_terminals.md)
* [Changing Actions For Grammar Rules](./tutorial/changing_actions_for_grammar_rules.md)
* Changing Types
* [Changing Types For Terminals](./tutorial/changing_types_for_terminals.md)
* [Changing Types For Grammar Rules](./tutorial/changing_types_for_grammar_rules.md)
* [Using Vec As Types](./tutorial/using_vec_as_types.md)
* [Changing Names Of Enum Variants And Functions](./tutorial/changing_names_of_enum_variants_and_functions.md)
* [Changing Names Of Struct Fields And Function Parameters](./tutorial/changing_names_of_struct_fields_and_function_parameters.md)
* [Combinations of Custom Actions](./tutorial/combinations_of_custom_actions.md)
## Rcomp
* [List Of All Commands](./tutorial/list_of_all_commands.md)
* [Action File Regeneration](./tutorial/action_file_regeneration.md)
* [GLR Parser Generation](./tutorial/glr_parser_generation.md)
## Misc.
* [Turning Off Log Output](./tutorial/turning_off_log_output.md)
* [Generating Parsers Automatically](./tutorial/generating_parsers_automatically.md)
## See Also
* [Rustemo](https://github.com/igordejanovic/rustemo) - the parser generator.
* [Rustemo Book](https://www.igordejanovic.net/rustemo/) - a detailed description of Rustemo.
## Contributions
Pull requests for typos, incorrect information, or other ideas are welcome!
## License
All code in the tutorial is provided under the MIT License.