Skip to content

Refactor system_library_symbolst to support languages beyond C #1311

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

Closed
peterschrammel opened this issue Aug 31, 2017 · 3 comments
Closed

Refactor system_library_symbolst to support languages beyond C #1311

peterschrammel opened this issue Aug 31, 2017 · 3 comments

Comments

@peterschrammel
Copy link
Member

This will be needed to distinguish internal and modelled functions for various input languages from actual user code in downstream applications, e.g. through the "isInternal" property in the JSON output.

@tautschnig
Copy link
Collaborator

Isn't all that it takes an additional check of the mode attribute of a symbolt?

@peterschrammel
Copy link
Member Author

peterschrammel commented Sep 3, 2017

system_library_symbolst is misplaced in goto-programs because it is C-specific. We require similar system library information for each language that we support. Therefore there should be an interface in util, and the respective system_library_symbols implementations should be put into the language folders (the contents of the current system_library_symbols can go into ansi-c). This will also allow to access it transparently through languaget if necessary.

To solve the is_internal issue (#1272),

  1. we could have an is_internal function that looks up the symbol attributes and system library symbols
  2. or add an is_internal boolean to symbolt and assign it in the front-end, based on the system_library_symbols information, and whenever an auxiliary symbol is created.

@TGWDB
Copy link
Contributor

TGWDB commented Jun 9, 2021

Closing as suggested architectural change we're not progressing on. Please reopen if you believe this is erroneous.

@TGWDB TGWDB closed this as completed Jun 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants