Skip to content

flesh out the syntactic extension system #38

Closed

Description

@graydon

A very basic version of the syntactic extension system is working but only supports a test extension "#shell". Add a few more to see how it feels (#if-#else-#endif, #include, #env, #file, #line, #pos, possibly #re, #html, #bit -matching patterns, maybe a simple macro system?)

For this to really work long-term we need to wait on the self-hosting compiler, but an experiment or two would be useful.

Activity

  1. graydon commented on Jan 27, 2011

    @graydon
    ContributorAuthor

    This has been extended to cover a printf-like #fmt extension in rustboot. Shifted to rustc, as it'll have to happen there too.

  2. graydon commented on May 26, 2011

    @graydon
    ContributorAuthor

    This also requires some work in the dynamic-linkage department, to load external extensions.

  3. graydon commented on Sep 19, 2011

    @graydon
    ContributorAuthor

    This is as done as it's going to get for first release after pauls' heroic macro system addition over the summer. Punting to "future".

  4. graydon commented on Mar 5, 2012

    @graydon
    ContributorAuthor

    This is too vague to ever close on its own. Open sub-bugs if interested in specific syntax extensions.

  5. added a commit that references this issue on Jul 19, 2017
  6. added a commit that references this issue on Dec 12, 2017
  7. added a commit that references this issue on Oct 23, 2018
  8. added a commit that references this issue on Jun 30, 2020
    8c89839
  9. added a commit that references this issue on Apr 29, 2021
  10. added a commit that references this issue on Dec 9, 2021
  11. added 2 commits that reference this issue on Dec 4, 2023
  12. added a commit that references this issue on Dec 5, 2023
  13. added a commit that references this issue on Dec 5, 2023
  14. added 2 commits that reference this issue on Nov 11, 2025
    06e0802
    5f6c3af
  15. added a commit that references this issue on Aug 21, 2026
  16. added a commit that references this issue on Sep 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-frontendArea: Compiler frontend (errors, parsing and HIR)A-linkageArea: linking into static, shared libraries and binaries

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions