[PR #41] Big rewrite of the parser #42

Open
opened 2026-05-22 22:05:17 +01:00 by JakeStanger · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/corn-config/corn/pull/41
Author: @puppymati
Created: 3/29/2025
Status: 🔄 Open

Base: masterHead: parser-rewrite


📝 Commits (10+)

  • e3142ce Fix inconsistencies in inputs
  • a9b79d4 Create an initial skeleton for the new parser
  • 7d6dd41 Fix lua implementation
  • 935f6c4 Fix manifest
  • ace884e Implement custom deserializer and serializer for Value
  • 55324b4 Move value to its own module
  • 05a910c Implement a custom integer type
  • 68ea73c Implement value helpers
  • fa63a50 Add a warning about missing docs
  • 72ef842 Improve error implementation

📊 Changes

18 files changed (+967 additions, -1351 deletions)

View changed files

📝 Cargo.lock (+52 -260)
📝 Cargo.toml (+18 -35)
📝 assets/inputs/compact.corn (+1 -1)
📝 assets/inputs/complex_keys.corn (+1 -1)
📝 assets/inputs/very_compact.corn (+1 -1)
📝 cli/src/error.rs (+6 -6)
📝 cli/src/main.rs (+2 -2)
📝 src/de.rs (+326 -440)
📝 src/error.rs (+51 -20)
src/grammar.pest (+0 -93)
📝 src/lib.rs (+8 -60)
📝 src/lua.rs (+2 -2)
src/parser.rs (+0 -425)
src/value/de.rs (+114 -0)
src/value/integer.rs (+89 -0)
src/value/mod.rs (+261 -0)
src/value/ser.rs (+30 -0)
📝 tests/parser_tests.rs (+5 -5)

📄 Description

This is a work in progress PR, mostly to keep track publicly of the progress but obviously not ready to merge yet. I'll add a proper description later.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/corn-config/corn/pull/41 **Author:** [@puppymati](https://github.com/puppymati) **Created:** 3/29/2025 **Status:** 🔄 Open **Base:** `master` ← **Head:** `parser-rewrite` --- ### 📝 Commits (10+) - [`e3142ce`](https://github.com/corn-config/corn/commit/e3142ce82082f9a0e773629c6980e1ce1763629a) Fix inconsistencies in inputs - [`a9b79d4`](https://github.com/corn-config/corn/commit/a9b79d48444c98081dc72f0ee8a1c2a5875e5a38) Create an initial skeleton for the new parser - [`7d6dd41`](https://github.com/corn-config/corn/commit/7d6dd41b159366a9892955b398d45baff8980a7f) Fix lua implementation - [`935f6c4`](https://github.com/corn-config/corn/commit/935f6c47a83096ac057ba3f93d4247e4f464be77) Fix manifest - [`ace884e`](https://github.com/corn-config/corn/commit/ace884efe8ae57fc3be5ad043f53d68faaca7b47) Implement custom deserializer and serializer for Value - [`55324b4`](https://github.com/corn-config/corn/commit/55324b413e1da5ee93ee9c2c2abb113f563b85ef) Move value to its own module - [`05a910c`](https://github.com/corn-config/corn/commit/05a910c0aace30070305e36b902a0fd964745c9a) Implement a custom integer type - [`68ea73c`](https://github.com/corn-config/corn/commit/68ea73cdfb8561126b98c9897880f2f326aacd7e) Implement value helpers - [`fa63a50`](https://github.com/corn-config/corn/commit/fa63a507198d2ed57d0556e9311c12d8b1308614) Add a warning about missing docs - [`72ef842`](https://github.com/corn-config/corn/commit/72ef842cf5bba62ba9f2ecbd5e6c7bb01272fa46) Improve error implementation ### 📊 Changes **18 files changed** (+967 additions, -1351 deletions) <details> <summary>View changed files</summary> 📝 `Cargo.lock` (+52 -260) 📝 `Cargo.toml` (+18 -35) 📝 `assets/inputs/compact.corn` (+1 -1) 📝 `assets/inputs/complex_keys.corn` (+1 -1) 📝 `assets/inputs/very_compact.corn` (+1 -1) 📝 `cli/src/error.rs` (+6 -6) 📝 `cli/src/main.rs` (+2 -2) 📝 `src/de.rs` (+326 -440) 📝 `src/error.rs` (+51 -20) ➖ `src/grammar.pest` (+0 -93) 📝 `src/lib.rs` (+8 -60) 📝 `src/lua.rs` (+2 -2) ➖ `src/parser.rs` (+0 -425) ➕ `src/value/de.rs` (+114 -0) ➕ `src/value/integer.rs` (+89 -0) ➕ `src/value/mod.rs` (+261 -0) ➕ `src/value/ser.rs` (+30 -0) 📝 `tests/parser_tests.rs` (+5 -5) </details> ### 📄 Description This is a work in progress PR, mostly to keep track publicly of the progress but obviously not ready to merge yet. I'll add a proper description later. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
corn-config/corn#42
No description provided.