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

How much meta-information do we want to have in compiled Rascal code? #806

Closed
PaulKlint opened this issue Apr 18, 2015 · 10 comments
Closed

Comments

@PaulKlint
Copy link
Member

At the moment, compiled Rascal code already contains quite an amount of meta-data but it is possible to make more meta-data available. Below is a list of what is currently available and under Optional Extras possible extra information is listed.

Questions to consider

  • Which extra information is useful/desirable?
  • Do you see other extra information that we might want to have in the future?

Available per module

  • name
  • all tags (e.g., authors, license, docs, bootstrapParser) are preserved.
  • all compiler messages for this module
  • imports
  • extends
  • source location
  • list of declarations

Optional Extras

  • import graph
  • use information (all imports of this module)
  • information for debugger (to be determined)

Available per function

  • name
  • type
  • tags (NB, while making this list I noticed that this are not yet available, but they are useful to have, in particular for doc tags so that we can show documentation directly in the IDE)
  • source location

Optional Extras

  • use information (all calls to this function)
  • information for debugger (to be determined)
@jurgenvinju
Copy link
Member

For some IDE services we need functions to be discoverable in the sense of a list of functions which can be searched by name or by certain annotations; also their parameter types would be useful for dynamically checking possible errors. Then we need to be able to call these functions from Java.

@PaulKlint
Copy link
Member Author

Actually more info is available that covers your wishes. I will add them to the above list

@PaulKlint
Copy link
Member Author

Calling compiled functions from Java should be doable but is currently not yet supported.

@jurgenvinju
Copy link
Member

Ok. that's all we need for the IDE.

@PaulKlint
Copy link
Member Author

There is also the information (and API) needed to cooperate with the Eclipse debugger, but that will become clear when we start working on it.

@jurgenvinju
Copy link
Member

yes, that will be a different topic, and we know it's possible.

@DavyLandman
Copy link
Member

Does the list of declarations include the extended module?

@PaulKlint
Copy link
Member Author

The list of declarations in the linked RVMExecutable contains all function declarations from all imported modules. I might also add to each function the module in which it has been defined and then it will be really easy to search for a function in a specific module.

@jurgenvinju
Copy link
Member

That would be great, and easy to use in the IDE features.

@PaulKlint
Copy link
Member Author

All taken care of

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants