tools.analyzer

Document the AST nodes && the passes

Details

  • Type: Task Task
  • Status: Open Open
  • Priority: Critical Critical
  • Resolution: Unresolved
  • Affects Version/s: None
  • Fix Version/s: None
  • Component/s: None
  • Labels:
    None

Activity

Hide
Max Kreminski added a comment -

I put together a quick reference to the AST node structures a few days ago when trying to identify discrepancies between the tools.analyzer AST format and the internal AST format used by the ClojureScript compiler. It's nowhere near as complete as it could be, but I figured I'd post it here just in case it winds up being useful when writing official docs.

http://mkremins.github.io/clojure-ast-ref/

Show
Max Kreminski added a comment - I put together a quick reference to the AST node structures a few days ago when trying to identify discrepancies between the tools.analyzer AST format and the internal AST format used by the ClojureScript compiler. It's nowhere near as complete as it could be, but I figured I'd post it here just in case it winds up being useful when writing official docs. http://mkremins.github.io/clojure-ast-ref/
Hide
Nicola Mometto added a comment -

At first glance it looks really well done.
I'll take some time to review it and contribute if necessary, in the mean time if you want you can add a link pointing at your quickref in the tools.analyzer wiki.

Thanks

Show
Nicola Mometto added a comment - At first glance it looks really well done. I'll take some time to review it and contribute if necessary, in the mean time if you want you can add a link pointing at your quickref in the tools.analyzer wiki. Thanks
Hide
Ian Tegebo added a comment -

It appears incomplete, e.g. :static-call is missing. This appears to be because it's added not by tools.analyzer but by tools.analyzer.jvm; is the intention that platform-specific AST nodes are to be considered hidden implementation details?

If not, should a separate issue requesting documentation be filed with the "concrete" platforms, e.g. jvm.tools.analyzer?

Show
Ian Tegebo added a comment - It appears incomplete, e.g. :static-call is missing. This appears to be because it's added not by tools.analyzer but by tools.analyzer.jvm; is the intention that platform-specific AST nodes are to be considered hidden implementation details? If not, should a separate issue requesting documentation be filed with the "concrete" platforms, e.g. jvm.tools.analyzer?
Hide
Max Kreminski added a comment -

I haven't yet had time to document the platform-specific node types added by tools.analyzer.{jvm,js}, although I do intend to add them to the quickref in the near future.

jvm.tools.analyzer appears to use a similar but incompatible AST format, which I currently don't plan on trying to document in the quickref. Filing a separate issue on that project might be the best way to move forward there.

Show
Max Kreminski added a comment - I haven't yet had time to document the platform-specific node types added by tools.analyzer.{jvm,js}, although I do intend to add them to the quickref in the near future. jvm.tools.analyzer appears to use a similar but incompatible AST format, which I currently don't plan on trying to document in the quickref. Filing a separate issue on that project might be the best way to move forward there.
Hide
Andy Fingerhut added a comment -

jvm.tools.analyzer is probably not worth documenting at this time, except for historical purposes. tools.analyzer.{jvm,js} are far more likely to be maintained and enhanced in the future.

Show
Andy Fingerhut added a comment - jvm.tools.analyzer is probably not worth documenting at this time, except for historical purposes. tools.analyzer.{jvm,js} are far more likely to be maintained and enhanced in the future.
Hide
Ian Tegebo added a comment -

Oops, I think I introduced some confusion when I mistakenly referenced jvm.tools.analyzer. I did so because I didn't see a JIRA project for tools.analyzer.jvm.

On 29/May14 12:59 AM, I meant "... the 'concrete' platforms, e.g. tools.analyzer.{jvm,js} ...".

As an aside, had anyone considered a slight rewrite of the code so that AST (reference) documentation can be extracted rather than separately maintained?

Show
Ian Tegebo added a comment - Oops, I think I introduced some confusion when I mistakenly referenced jvm.tools.analyzer. I did so because I didn't see a JIRA project for tools.analyzer.jvm. On 29/May14 12:59 AM, I meant "... the 'concrete' platforms, e.g. tools.analyzer.{jvm,js} ...". As an aside, had anyone considered a slight rewrite of the code so that AST (reference) documentation can be extracted rather than separately maintained?

People

Vote (0)
Watch (1)

Dates

  • Created:
    Updated: