{"id":28268591,"url":"https://github.com/fogarecious/rustemo_tutorial","last_synced_at":"2026-01-24T06:04:43.731Z","repository":{"id":244532934,"uuid":"815467235","full_name":"fogarecious/rustemo_tutorial","owner":"fogarecious","description":"Tutorial of Rustemo","archived":false,"fork":false,"pushed_at":"2024-07-26T09:06:11.000Z","size":51,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-16T20:45:10.698Z","etag":null,"topics":["rust","rustemo","tutorial"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fogarecious.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-15T08:43:52.000Z","updated_at":"2024-10-01T18:04:01.000Z","dependencies_parsed_at":"2024-07-23T13:25:27.547Z","dependency_job_id":null,"html_url":"https://github.com/fogarecious/rustemo_tutorial","commit_stats":null,"previous_names":["fogarecious/rustemo_tutorial"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fogarecious/rustemo_tutorial","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fogarecious%2Frustemo_tutorial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fogarecious%2Frustemo_tutorial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fogarecious%2Frustemo_tutorial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fogarecious%2Frustemo_tutorial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fogarecious","download_url":"https://codeload.github.com/fogarecious/rustemo_tutorial/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fogarecious%2Frustemo_tutorial/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28715757,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T05:53:42.649Z","status":"ssl_error","status_checked_at":"2026-01-24T05:53:41.698Z","response_time":89,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["rust","rustemo","tutorial"],"created_at":"2025-05-20T15:13:04.777Z","updated_at":"2026-01-24T06:04:43.726Z","avatar_url":"https://github.com/fogarecious.png","language":null,"readme":"# Simple Rustemo Tutorial\n\n[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.\nThis tutorial serves as a quick start for [Rustemo](https://github.com/igordejanovic/rustemo).\nWe try to keep each part of the tutorial as simple as possible.\n\n## Quick Start\n\n* [Installation](./tutorial/installation.md)\n* First Example\n  * [Parser Generation](./tutorial/parser_generation.md)\n  * [A Project Template For Parsing](./tutorial/a_project_template_for_parsing.md)\n  * [Parsing](./tutorial/parsing.md)\n  * [Changing Parser Actions](./tutorial/changing_parser_actions.md)\n* [Workflow](./tutorial/workflow.md)\n\n## Grammar\n\n* [Grammar File Format](./tutorial/grammar_file_format.md)\n* [Comments](./tutorial/comments.md)\n* Terminals\n  * [String Terminals](./tutorial/string_terminals.md)\n  * [Regex Terminals](./tutorial/regex_terminals.md)\n* Grammar Rules\n  * [Using Terminals In Expressions](./tutorial/using_terminals_in_expressions.md)\n  * [Using Grammar Symbols In Expressions](./tutorial/using_grammar_symbols_in_expressions.md)\n  * [Empty String](./tutorial/empty_string.md)\n  * [Or](./tutorial/or.md)\n  * [Optional](./tutorial/optional.md)\n  * [One Or More](./tutorial/one_or_more.md)\n  * [Zero Or More](./tutorial/zero_or_more.md)\n  * [Separators](./tutorial/separators.md)\n* Disambiguation\n  * [Ambiguous Grammar](./tutorial/ambiguous_grammar.md)\n  * [Disambiguation By Associativity](./tutorial/disambiguation_by_associativity.md)\n  * [Disambiguation By Priority](./tutorial/disambiguation_by_priority.md)\n* More About Priority\n  * [Operator Precedence](./tutorial/operator_precedence.md)\n  * [Terminal Priority](./tutorial/terminal_priority.md)\n* [Skipping Parts Of Input](./tutorial/skipping_parts_of_input.md)\n\n## Actions\n\n* Names In The Action File\n  * [Default Names For Terminals](./tutorial/default_names_for_terminals.md)\n  * [Default Names For Grammar Rules](./tutorial/default_names_for_grammar_rules.md)\n* Default Actions\n  * [Default Actions For Terminals](./tutorial/default_actions_for_terminals.md)\n  * [Default Actions For Grammar Rules](./tutorial/default_actions_for_grammar_rules.md)\n* Custom Actions\n  * Changing Actions\n    * [Changing Actions For Terminals](./tutorial/changing_actions_for_terminals.md)\n    * [Changing Actions For Grammar Rules](./tutorial/changing_actions_for_grammar_rules.md)\n  * Changing Types\n    * [Changing Types For Terminals](./tutorial/changing_types_for_terminals.md)\n    * [Changing Types For Grammar Rules](./tutorial/changing_types_for_grammar_rules.md)\n    * [Using Vec As Types](./tutorial/using_vec_as_types.md)\n  * [Changing Names Of Enum Variants And Functions](./tutorial/changing_names_of_enum_variants_and_functions.md)\n  * [Changing Names Of Struct Fields And Function Parameters](./tutorial/changing_names_of_struct_fields_and_function_parameters.md)\n  * [Combinations of Custom Actions](./tutorial/combinations_of_custom_actions.md)\n\n## Rcomp\n\n* [List Of All Commands](./tutorial/list_of_all_commands.md)\n* [Action File Regeneration](./tutorial/action_file_regeneration.md)\n* [GLR Parser Generation](./tutorial/glr_parser_generation.md)\n\n## Misc.\n\n* [Turning Off Log Output](./tutorial/turning_off_log_output.md)\n* [Generating Parsers Automatically](./tutorial/generating_parsers_automatically.md)\n\n## See Also\n\n* [Rustemo](https://github.com/igordejanovic/rustemo) - the parser generator.\n* [Rustemo Book](https://www.igordejanovic.net/rustemo/) - a detailed description of Rustemo.\n\n## Contributions\n\nPull requests for typos, incorrect information, or other ideas are welcome!\n\n## License\n\nAll code in the tutorial is provided under the MIT License.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffogarecious%2Frustemo_tutorial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffogarecious%2Frustemo_tutorial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffogarecious%2Frustemo_tutorial/lists"}