summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
6 daysnp: codegen: Implement initial stack based codegenIan Moffett
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>
7 dayskern: np: Create codegen/ directoryIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysnp: parse: Allocate new PIIR stack into work descIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskern: np: Add initial IR engine (PIIR)Ian Moffett
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>
7 dayskern: np: Add credit to parser and lexerIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysnp: parse: Improve error message clarityIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysnp: parse: Fix typo in error logIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysnp: parse: Create proc AST, handle end/begin, ...Ian Moffett
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>
7 daysnp: lex: Add LEX_EOF defineIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysnp: Add signed integer typesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysnp: parse: Parse procedure signatureIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysnp: lex: Add the rest of the UINT tokensIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysnp: parse: Add AST structure and initial logicIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysnp: parse: Add initial function parsing logicIan Moffett
Create basic parsing logic for functions, needs to be completed but provides great groundwork. We also added a better target to parse and we'll incrementally increase complexity as we advance Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysnp: lex: Add TT_NONE token for invalid typesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysnp: Allocate memory for identifierIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysnp: init: Keep track of objects with PTRBOXIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskern: ptrbox: Remove debug printIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskern: ptrbox: Add string duplicationIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskern: lib: Introduce pointer boxesIan Moffett
Pointer boxes are a way to allocate memory and associate them with one location so that during error/exit paths, one may deallocate every buffer with a single call Signed-off-by: Ian Moffett <ian@osmora.org>
8 daysnp: lex: Return -2 on EOFIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 daysnp: lex: Detect colon (':')Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 daysnp: lex: Add left/right bracket tokensIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 daysnp: lex: Handle digits in the streamIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 daysnp: lex: Break up big token switch-caseIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayslex: np: Add lexer arithmetic operatorsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 daysnp: lex: Detect '*' token (TT_STAR)Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 daysnp: lex: Annotate token typesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 daysnp: parse: Add initial parsing logicIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 daysnp: lex: Increment line number every newlineIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 daysnp: lex: Parse identifiers and commasIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 daysnp: lex: Cache last char during parseIan Moffett
Sometimes when parsing while we are scanning for a string, we might loose the last character if we don't save it Signed-off-by: Ian Moffett <ian@osmora.org>
8 daysnp: lex: Use foward declaration of np_workIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 daysnp: lex: Assume identifier if no errorIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 daysnp: lex: Add pr_error() macro for error logsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskern: Add initial pirho compiler sourcesIan Moffett
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>
8 dayskern: vfs: Return vnode result in namei()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayslibwidget: Add initial window drawing + cleanupsIan Moffett
Introduce the initial logic to draw windows as well as tidying up the interface a bit. - All callbacks must now have a state arguments - The libwidget state is now kept internally - Add helper to get pixel index - Add initial window drawing Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayslibwidget: Set widget operations upon initIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayslibwidget: Use bigger window defaultsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayslibc: l5: Add query system call wrapperIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskern: mac: Add MAC resource queryingIan Moffett
Introduce a feature where a program with the correct rights may get information about a MAC object Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskern: os: Document the mac_border structureIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayslibwidget: Initialize vram/fbdev pointerIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayslibwidget: Initialize default width and heightIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayscmd: build: Include from libc incdirIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
9 dayskern: fbdev: Create namespace object for fbdevIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
9 dayskern: init: Initialize namespaces before modulesIan Moffett
Some modules rely on the object namespace to keep track of state for them. So we need to initialize the namespace before we initialize those modules Signed-off-by: Ian Moffett <ian@osmora.org>
9 dayskern: ns: Extract true object data from entryIan Moffett
Before, the lookup was only returning the object and not the data behind the object itself. Now we extra the data from the object that exists within the hashmap entry. Signed-off-by: Ian Moffett <ian@osmora.org>
9 dayskern: ns: Include nsvar.h in os/ns.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>