1

I would like to develop a tool that would consume scala syntax-trees (as the title suggests). More specifically it would be great if I could consume the trees after each compilation phase.

My research led me to Dotty's TASTY interchange format which seemed to be what I was looking for. Perhaps it is. However, I was not able to find adequate documentation on-line to figure out how to extract it and consume it.

I also looked at dotc compiler flags and couldn't figure out an obvious approach. I noticed the option : "-print-tasty" but I couldn't verify the expected output or perhaps I am missing something ?

Of course I can always print the AST after each phase using the scala printer (i.e., -Yshow-trees etc.). Is this my only option ? If it is, then fine.

Ideally, it would be great if I could consume the ASTs in a more "machine-friendly" format if you will. TASTY seems to be what I want in theory, i.e., a serialization of the AST, but I am not sure how to extract this after each phase.

I do apologize if my question is too trivial or has already been addressed. Any feedback would be highly appreciated ! Thanks !

P.S.: What if the ASTs were encoded in a JSON format ? Would a scala tool like that make sense, (i.e., a tool that converts Scala ASTs to JSON and back) ?

Than21
  • 321
  • 1
  • 2
  • 10
  • 2
    Not much traffic here; you could try and ask in https://gitter.im/lampepfl/dotty – 0__ Dec 26 '17 at 14:35

0 Answers0