Skip to content

Commit b1afc72

Browse files
committed
Fix for print_visitor.
Signed-off-by: James Goppert <james.goppert@gmail.com>
1 parent 6872825 commit b1afc72

File tree

2 files changed

+19
-4
lines changed

2 files changed

+19
-4
lines changed

src/main.rs

+4
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
1919
let args = Args::parse();
2020
let def = rumoca_parser::s1_parser::parse_file(&args.model_file);
2121

22+
if args.verbose {
23+
println!("{:#?}", def);
24+
}
25+
2226
let mut visitor = PrintVisitor::default();
2327
Walker::walk_stored_definition(&mut visitor, &def);
2428
Ok(())

src/s1_parser/print_visitor.rs

+15-4
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ impl Visitor for PrintVisitor {
5252
ast::Expression::Unary { op, .. } => {
5353
self.print(&format!("{:?}", op));
5454
}
55-
ast::Expression::Ref { comp } => {
56-
self.print(&format!("{:?}", comp));
55+
ast::Expression::Ref { .. } => {
56+
self.print("ref");
5757
}
5858
ast::Expression::UnsignedInteger(val) => {
5959
self.print(&format!("{:?}", val));
@@ -70,8 +70,8 @@ impl Visitor for PrintVisitor {
7070
ast::Expression::ArrayArguments { .. } => {
7171
self.print("array_args");
7272
}
73-
ast::Expression::FunctionCall { comp, .. } => {
74-
self.print(&format!("{:?}", comp));
73+
ast::Expression::FunctionCall { .. } => {
74+
self.print("function call");
7575
}
7676
ast::Expression::Der { .. } => {
7777
self.print("der");
@@ -108,4 +108,15 @@ impl Visitor for PrintVisitor {
108108
ast::Element::ExtendsClause { .. } => {}
109109
}
110110
}
111+
112+
fn exit_component_reference(&mut self, comp: &ast::ComponentReference) {
113+
let mut s: String = "".to_string();
114+
for (index, part) in comp.parts.iter().enumerate() {
115+
if index != 0 || comp.local {
116+
s += ".";
117+
}
118+
s += &part.name;
119+
}
120+
self.print(&s);
121+
}
111122
}

0 commit comments

Comments
 (0)