Feature: Annotations #156

Open
opened 2023-08-17 08:11:03 +01:00 by deavmi · 0 comments
Owner

What is this?

TO add support for annotations. This will require:

  • New SymbolType as the entering symbol (if one hasn't been declared for it yet)
  • New Statement-type (a sub-type of it), call it Annotation and probably place it in data.d (just ask me)
  • Some stack push-pop mechanism
    • Push for when we return from parseAnnotation() we must place the `Annotation on the top of the stack
    • Certain entities like parseStruct() can check if hasAnnotationsOnStack() and if so popAnnotation(), check what it contains and if it is fine then continue (attach that info to the struct for example)

Todo

  • Lexer changes
  • Parser changes
  • Documentation
    • I believe somewhere in docs_src/ (in the docs repo) there is a blank file for annotations. It is there where docs should be placed.
## What is this? TO add support for annotations. This will require: * New `SymbolType` as the entering symbol (if one hasn't been declared for it yet) * New `Statement`-type (a sub-type of it), call it `Annotation` and probably place it in `data.d` (just ask me) * Some stack push-pop mechanism * Push for when we return from `parseAnnotation()` we must place the `Annotation on the top of the stack * Certain entities like `parseStruct()` can check if `hasAnnotationsOnStack()` and if so `popAnnotation()`, check what it contains and if it is fine then continue (attach that info to the struct for example) ### Todo - [ ] Lexer changes - [ ] Parser changes - [ ] Documentation * I believe somewhere in `docs_src/` (in the docs repo) there **is** a blank file for annotations. It is there where docs should be placed.
deavmi self-assigned this 2023-08-17 08:11:08 +01:00
gusmeyer was assigned by deavmi 2023-08-17 08:11:08 +01:00
deavmi added this to the Basics milestone 2023-08-17 08:11:12 +01:00
deavmi added the
parser
lexer
labels 2023-08-17 08:11:19 +01:00
deavmi added reference feature/annotations 2023-08-17 09:08:17 +01:00
deavmi added a new dependency 2023-11-06 09:38:46 +00:00
deavmi removed a dependency 2024-04-08 11:49:23 +01:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: tlang/tlang#156
No description provided.