1@startuml 2node core { 3 [Java parser] <-- [AST] 4 [Javadoc parser] 5 [AST] <-- [lexical preserving printer] 6 [AST] <-- [concrete syntax model] 7 [concrete syntax model] <-- [lexical preserving printer] 8 events <-- [lexical preserving printer] 9 [AST] <-- [comments inserter] 10 [AST] <-- [visitors] 11 [AST] <-- [meta model] 12 [AST] <-- [pretty printer] 13 [visitors] <-- [pretty printer] 14 [AST] - symbol_resolution 15 [AST] - events 16 [visitors] <-- [code generators] 17 [AST] <-- [code generators] 18 [meta model] <-- [code generators] 19 [AST] <-- [JSON (de)serializer] 20 [Java parser] <- [source root] 21} 22node symbol-solver { 23 [AST] <- [model] 24 symbol_resolution <- [model] 25 [model] <-- [core] 26 [model] <-- [logic] 27 [logic] <-- [core] 28} 29@enduml