Age | Commit message (Collapse) | Author |
|
Introduce support for returning symbols or strings in memory by using
the symbol table and REX prefixes for 64-bit register accesses
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit adds a lookup ID to each symbol as well as ensuring that
they have a defined name even if the requested one is NULL
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Introduce register allocation via a bitmap where each bit corresponds to
a specific register index.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit introduces a way to allocate and store symbols as structures
consiting of a name and an address. We also provide a way to cache
lookups to provide faster access.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit introduces lexical, parsing and code generation support for
the return statements. As of now, one is only able to return unsigned integers
but this will be expanded upon in the future
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Deprecate the usage of abstract syntax treats in favor of the much saner
stack machines + IR usage
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit introduces the groundwork for the AMD64 PIIR backend. We
will not follow through with the plans of using abstract syntax trees as
they'll overly complicate the project. Instead we'll utilize a ring
buffer to store the list of instructions and a stack machine for the IR
code.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit introduces the initial sources for the intermediate
representation (IR) engine [called PIIR (PI-IR)] to PIRHO
PIIR: [NOUN]: border, boundary, frontier
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit introduces AST object types and AST integer type
definitions. We also now keep track of how deep we are in begin/end
tags.
- Introduce parsing for TT_BEGIN
- Introduce parsing for TT_END
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
The pirho compiler is a ring-0 compiler used to compile core parts of
the kernel during updates and installs from the initramfs.
Signed-off-by: Ian Moffett <ian@osmora.org>
|