Task Board
Code | Name |
---|---|
I[0-9]+ | Implementation |
DS[0-9]+ | Data Structure |
F[0-9]+ | Feature |
O[0-9]+ | Optimization |
E[0-9]+ | Exception |
TSys[0-9]+ | Type System |
TInfer[0-9]+ | Type Inference |
Gen[0-9]+ | LLVM IR Generation |
[E1] Code Text Locate
Done (Method)
Use global position to locate the line number (binary search).
Add extra line seperation.
Lable the current line with offset (position of curr char - start of this line).
Derived Problem
How to design and implement exceptions for a compiler?
[E1] Error Message Format
[E1] For Parsing (Parser Error)
[E1] For Type Checking (Type Error)
[TInfer1] Type Check: Integer, Float
[TInfer1] Type Convert: Integer -> Float
[I1] Arithmetic Calculation
Types:
[ true | false ]
i32, i64
f32, f64
Operators:
Addition ( + )
Subtraction ( - )
Mutiplication ( * )
Division ( / )
Modulo ( % )
[I1] Custom Type
[I1] Constant Initialization
Types:
Integer: i32, i64
Float: f32, f64
Resource Identifier
[DS1] Array (Fixed Length)
[DS1] Struct
Heterogeneous: Any
[DS1] List
Homogeneous
Integer
i32 (type: int / integer)
i64
Float / Double
f32 (type: float)
f64 (type: double)
Heterogeneous: Any
[DS1] String
[F1] URLs Are Not Strings
We need a feasible way to create, modify and operates URLs.
[O1] Parse URLs
Last updated