summaryrefslogtreecommitdiff
path: root/src/sys/np/core/np_parse.c
AgeCommit message (Collapse)Author
5 daysnp: codegen: Support returning symbols / stringsIan Moffett
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>
5 daysnp: parse: Add symbol listIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskern: np: Add support for return statementsIan Moffett
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>
6 daysnp: codegen: Deprecate AST in favor of stackgenIan Moffett
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>
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 daysnp: parse: Allocate new PIIR stack into work descIan Moffett
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>
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 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: parse: Add initial parsing logicIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>