coderkalyan / coderkalyan/femtoc

Internal TODO tracker

Open
#44 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Zig
Stars
2
Forks
0
PR merge metrics
No merged PRs in 30d

Description

(Potentially non-exhaustive) tracker for initial TODO notes in code:

- [ ] lex.zig:199: Nicer error handling for files over the size limit, with explanation of why (32 bit indexing)
- [ ] lex.zig:796: Support escaped special characters (newline, etc) in character and string literals. Actual line number of TODO is misleading.
- [ ] floatLiteral.zig: Improve tests for float literal parsing. Don't work on this yet, it will probably be consolidated into the lexer.
- [x] scope.zig:53: Update types hashmap to follow new convention used in decls, and all usages.
- [ ] scope.zig:322: Update and re-enable all scope tests. New tests need to be written for updated functionality.
- [x] Hir.zig:73,96,107,156: Improve documentation of HIR instructions
- [ ] Hir.zig:169: Review which instruction data types need node references
- [ ] Hir.zig:398: Branch type resolution should return the block's yield type to support branch expressions.
- [ ] Hir.zig:402: Implement bitshift and other binary instructions in general (and specifically type resolution here)
- [ ] Hir.zig:455: Replace bitcast logic with an implementation of alu.sext (sign extend) in alu.zig
- [ ] parse.zig:128,455: Not really sure what to do here. @maximkha ?
- [ ] typing.zig:121: Support larger sized integers with extended format (low priority, no immediate plans for AST support)
- [ ] typing.zig:126: Support less common float types (like 80 bit and extended x87)
- [ ] typing.zig:143,153: Pointer size is architecture specific. In general this area needs to be reworked
- [x] typing.zig:266: Update and re-enable all typing tests. New tests need to be written for updated functionality.
- [x] DeclGen.zig:78: Note for implementing load_global resolution
- [x] CodeGen.zig:39: Note for implementing load_global resolution
- [x] CodeGen.zig:162,170: Placeholder modulo implementation, need to look into signed behavior and implement properly
- [ ] CodeGen.zig: 264,284: Support branch expressions.
- [ ] CodeGen.zig:326: Implement debug value (need to investigate what this specific TODO is for, might be deprecated).
- [x] HirGen.zig:252: Rework ty() function to be in line with the declaration functions, and support user defined types.
- [ ] HirGen.zig:317: Function hash is dangling code in hirgen, maybe migrate to AST. Also maybe not needed in general.
- [ ] HirGen.zig:392: Following scope refactoring, we might be leaking memory.
- [x] HirGen.zig:418: Check why not all statements return/are consistent in function signature.
- [ ] HirGen.zig:861: Loop should generate an implicit coerce, or better yet not (and move this to implicit coerce in type_analysis)
- [ ] HirGen.zig:1003: untyped_decls should just become decls or something
- [ ] coercion.zig:17: Properly deep-compare extended types
- [ ] coercion.zig:43,52,74,82,91,118: Properly annotate the node generating this, currently undefined
- [ ] coercion.zig:57,94: Replace generic truncated error with specific truncation user error
- [ ] coercion.zig:106: Properly check if float can be coerced without loss (not straight forward)
- [x] BlockEditor.zig:16: Potential memory leak (investigate, might be out of date)
- [x] BlockEditor.zig:56: Consider using the arena allocator for remaps hashmap
- [x] BlockEditor.zig:401: Consider replacing hashmap with slice (not clear what this means)
- [ ] BlockEditor.zig:481: Member naming once structs and enums are added
- [x] type_analysis.zig:44,62: The current remap commit is buggy and slow, need to find a much better solution
- [ ] type_analysis.zig:139,148: Potentially annotate the node for literals (check if necessary for later error handling)
- [ ] type_analysis.zig:206,233,248,347,374,458,459,505,549: Replace unreachable/generic error with specific user error
- [ ] type_analysis.zig:246: Re-enable constant folding
- [ ] type_analysis.zig:283: Disable arithmetic between different signs in constant folding (actually maybe not)
- [ ] type_analysis.zig:480,495,519: Emit user error for direct comparison of floats
- [ ] type_analysis.zig:596: Potentially try to coerce call address to function type, needs thought
- [ ] type_analysis.zig:612: Potentially improve token annotation for call error

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.