Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Add SPPF Visitor #96

Draft
wants to merge 20 commits into
base: master
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
8b0f7f0
Add preliminary SPPF visitor code
stevefan1999-personal Oct 15, 2023
1cba0d5
disambiguate the visit function name
stevefan1999-personal Oct 15, 2023
7c5c6a0
fix include item for sppf
stevefan1999-personal Oct 15, 2023
5c95aaf
use dyn-clone to clone visitor on different versions
stevefan1999-personal Oct 15, 2023
d85ce86
fixup! use dyn-clone to clone visitor on different versions
stevefan1999-personal Oct 15, 2023
5d0c482
fixup! fixup! use dyn-clone to clone visitor on different versions
stevefan1999-personal Oct 15, 2023
b313a09
fixup! fixup! fixup! use dyn-clone to clone visitor on different vers…
stevefan1999-personal Oct 15, 2023
0b92596
use dyn-clone to clone visitor on different versions
stevefan1999-personal Oct 15, 2023
2d1cdfc
Merge branch 'patch-sppf-visitor-gen' of https://github.com/stevefan1…
stevefan1999-personal Oct 15, 2023
cd17d53
fix ownership problem for sppf visitor
stevefan1999-personal Oct 15, 2023
da1e260
fix indent
stevefan1999-personal Oct 15, 2023
73535fd
add missing reference
stevefan1999-personal Oct 15, 2023
25a23f0
let visitor to be mutable
stevefan1999-personal Oct 15, 2023
1205f4b
do pre-order traversal instead for sppf
stevefan1999-personal Oct 15, 2023
03dfa8b
support mut for ast visitor
stevefan1999-personal Oct 15, 2023
4e88caf
use clone_trait_object instead
stevefan1999-personal Oct 15, 2023
39dd2cd
fixup! use clone_trait_object instead
stevefan1999-personal Oct 15, 2023
13e227e
push tree to a buffer on divergent branch
stevefan1999-personal Oct 15, 2023
bf87633
Merge remote-tracking branch 'upstream/master' into patch-sppf-visito…
stevefan1999-personal Oct 17, 2023
1685de8
use generated constants for id matching
stevefan1999-personal Oct 17, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Merge remote-tracking branch 'upstream/master' into patch-sppf-visito…
…r-gen
  • Loading branch information
stevefan1999-personal committed Oct 17, 2023

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
commit bf87633dcb6506cf02d42e6d9221177f82fe8460
7 changes: 4 additions & 3 deletions sdk-rust/src/output/parser_rust.rs
Original file line number Diff line number Diff line change
@@ -471,6 +471,7 @@ fn write_code_ast_visitor(
) -> Result<(), Error> {
writeln!(writer)?;
writeln!(writer, "/// AST Visitor interface")?;
writeln!(writer, "#[allow(unused_variables)]")?;
writeln!(writer, "pub trait AstVisitor {{")?;
for terminal_ref in &expected.content {
let Some(terminal) = grammar.get_terminal(terminal_ref.sid()) else {
@@ -481,7 +482,7 @@ fn write_code_ast_visitor(
}
writeln!(
writer,
" fn on_terminal_{}(&mut self, _node: &AstNode) {{}}",
" fn on_terminal_{}(&mut self, node: &AstNode) {{}}",
to_snake_case(&terminal.name)
)?;
}
@@ -491,14 +492,14 @@ fn write_code_ast_visitor(
}
writeln!(
writer,
" fn on_variable_{}(&mut self, _node: &AstNode) {{}}",
" fn on_variable_{}(&mut self, node: &AstNode) {{}}",
to_snake_case(&variable.name)
)?;
}
for symbol in &grammar.virtuals {
writeln!(
writer,
" fn on_virtual_{}(&mut self, _node: &AstNode) {{}}",
" fn on_virtual_{}(&mut self, node: &AstNode) {{}}",
to_snake_case(&symbol.name)
)?;
}
You are viewing a condensed version of this merge commit. You can view the full changes here.