Sameer Rahmani
e4001e3802
[Bootstrap] Add a basic PrintError function to print error messages with the traceback
2021-01-03 23:42:49 +00:00
Sameer Rahmani
9be27c124a
[Bootstrap] Use Serene itself to load and run the main function
...
This commit consist a series of fixes to make the reach the main
goal of the commit:
* Fix the 'MakeNodeFromExprs' behavior so it returns a pointer
to a node and if the number of input exprs is zero then nil.
* Fix all the eval loop to return immediately in case of any error
duh!
* Add a `errtype` field to `Error` with an `ErrType` enum type
that indicates the type of the error, the type being syntax,
semantic and runtime error at the moment.
* Rename some of the Error functions to match the error type. For
Exapmle `MakeSyntaxError` and `MakeSemanticError`
2021-01-02 21:04:35 +00:00
Sameer Rahmani
e895377811
[Bootstrap] Update the call stack to container the caller and add a line index to the parser
2021-01-01 19:13:49 +00:00
Sameer Rahmani
9d106d4278
Record the caller details in the stack frame
2020-12-30 17:50:00 +00:00
Sameer Rahmani
699483e249
Add support for printable strings and 'pr', 'prn' functionalities.
...
Add 'pr' and 'prn' functions to print out the representation of an
string and 'print' and 'println' to print out the string.
2020-12-24 16:28:12 +00:00
Sameer Rahmani
3f6b9b6e29
[Bootstrap] Add the support for keywords
...
Both normal and ns qualified keywords with support for ns aliased
keywords.
2020-12-22 23:54:21 +00:00
Sameer Rahmani
1d66c2a56e
Add support for very basic string implementation
2020-12-16 22:40:59 +00:00
Sameer Rahmani
578a771fa3
Improve the documentation of the bootstrap
2020-12-16 18:57:54 +00:00
Sameer Rahmani
7f54e68256
Fix the parser to support end of line and bunch of other whitespace equavilents
2020-12-12 20:31:08 +00:00
Sameer Rahmani
90888a7bcd
Fix the REP loop to terminate early in case of any ParseError
2020-11-24 19:10:01 +00:00
Sameer Rahmani
d92150f0c3
Add IError interface to represent system errors
2020-11-24 18:27:48 +00:00
Sameer Rahmani
57714accfc
Add Location type and support to ILocatable
2020-11-23 12:30:02 +00:00
Sameer Rahmani
a2725ba412
Add some documentation for the core package
2020-11-20 16:43:07 +00:00
Sameer Rahmani
28d7be6efd
Create the Block struct to accommodate function bodies
2020-11-19 22:17:50 +00:00
Sameer Rahmani
ad37f02742
Restructure the source tree to get around circular dep issue
2020-11-15 22:16:48 +00:00