Sameer Rahmani
30669d9327
Fix linter issues on the parser module
2021-01-23 18:32:32 +00:00
Sameer Rahmani
b650a10ba0
Fix linter issues in the numbers.go
2021-01-22 21:36:26 +00:00
Sameer Rahmani
ea666bfa6a
Fix linter problems in function.go and types.go
2021-01-22 21:27:51 +00:00
Sameer Rahmani
4216547dd3
Fix linter problems on on eval.go and some of other pkg/core
2021-01-22 21:19:41 +00:00
Sameer Rahmani
5882897375
Use --fix argument of linters to auto fix as many issue as possible
2021-01-22 20:39:06 +00:00
Sameer Rahmani
3f554445d8
Fix some the linters problems reported by the golang-cli
2021-01-22 20:37:44 +00:00
Sameer Rahmani
fabb3cbb32
Fix some random linting issues
2021-01-21 22:52:18 +00:00
Sameer Rahmani
8bcf1ea566
Update the golangci location to be used only for the bootstrap
2021-01-18 18:07:48 +00:00
Sameer Rahmani
b76ce4556b
Merge pull request 'Add the config file for golangci-lint' ( #7 ) from ryan/Serene:add-golangci-lint-config into master
...
Reviewed-on: Serene/Serene#7
2021-01-18 14:49:11 +00:00
Ryan Clark
1b2ecadb53
Add the config file for golangci-lint
...
This uses most of the settings from the default golangci-lint config,
but a few are changed after using it on my own projects. This will
require some codebase changes to get the linter to pass, but just adding
the config file for now.
2021-01-18 14:45:02 +00:00
Sameer Rahmani
3904d6ef74
Fix couple of linting problems
2021-01-15 20:48:56 +00:00
Sameer Rahmani
2d7a32bcf3
Remove the debug data on the Makefile
2021-01-15 18:56:10 +00:00
Sameer Rahmani
d154f32079
Fix the build script to compile the bootstrap in a container
2021-01-15 18:52:09 +00:00
Sameer Rahmani
8546c1c562
Add the build target to the global make file
2021-01-15 18:34:41 +00:00
Sameer Rahmani
13f09e821f
Change the Jenkins agent type to any
2021-01-15 18:31:41 +00:00
Sameer Rahmani
e0c6960b6b
Add jenkinsfile and makefiles to test it
2021-01-15 18:28:36 +00:00
Sameer Rahmani
09a6d92c08
Replace Tre/False types with a Bool type
2021-01-14 18:17:38 +00:00
Sameer Rahmani
c88c7dad96
Fix some of styling issues through out ast and hash modules
2021-01-14 17:48:39 +00:00
Sameer Rahmani
e26bc00f09
Document the location.go file
2021-01-12 19:01:41 +00:00
Sameer Rahmani
2f6f79fe35
Split up the ast.go into smaller files
2021-01-11 19:03:02 +00:00
Sameer Rahmani
f2241cc31f
[Bootstrap] Add E0003 and the MakeRuntimeError to cover for MakeError
2021-01-10 18:30:48 +00:00
Sameer Rahmani
c30c93442b
[Bootstrap] Update the printer functions to enhace the traceback visuals
2021-01-10 17:03:52 +00:00
Sameer Rahmani
c2d4273319
[Bootstrap] Fix the order and location on the traceback
...
In order to fix this issue I had to make many minor tweaks
including reordering the traceback and the way we pass down
nodes.
2021-01-07 19:45:07 +00:00
Sameer Rahmani
0cc7646e3a
Merge branch 'master' into semantic-analysis
2021-01-03 23:43:45 +00:00
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
6b3bf41a60
[Website] Add the deploy script to deploy the website
2021-01-02 18:16:46 +00:00
Sameer Rahmani
0f651c4a49
[Website] Add site/public to the gitignore
2021-01-02 17:21:24 +00:00
mary
48b9020de1
Merge pull request '[Website] move site directory to the top level' ( #6 ) from move-website into master
...
Reviewed-on: Serene/Serene#6
2021-01-02 16:50:57 +00:00
Mary Salehi
59b0aa21d2
[Website] move site directory to the top level
2021-01-02 16:43:33 +00:00
mary
962689f4a6
Merge pull request '[Website] add the initial boilerplate for website' ( #5 ) from website into master
...
Reviewed-on: Serene/Serene#5
2021-01-01 23:17:18 +00:00
Mary Salehi
abe2ca395f
[Website] add the initial boilerplate for website
2021-01-01 23:09:53 +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
66e9340005
[Bootstrap]: Create an index of errors and their descriptions
2021-01-01 19:13:10 +00:00
Sameer Rahmani
9d106d4278
Record the caller details in the stack frame
2020-12-30 17:50:00 +00:00
Sameer Rahmani
3904b050bb
[Bootstrap] Update the LICENSE file to hold a copy of GNU GPL2
2020-12-25 23:40:21 +00:00
Sameer Rahmani
8eef7d76ca
[Bootstrap] Add minor comment to clearify 'instructions'
2020-12-25 23:20:15 +00:00
Sameer Rahmani
dff78f4cf4
[Bootstrap] Document the callstack internals
2020-12-25 22:55:26 +00:00
Sameer Rahmani
1447f8ac45
[Bootstrap] Implement a call stack to keep track of function calls
...
Add `ICallStack` as the interface to the call stack with a simple
FIFO implementation that tracks the recursive calls as well.
2020-12-25 22:03:21 +00:00
Sameer Rahmani
9dfe54a573
[Bootstrap]: Add internal instructions with an IExpr interface
2020-12-25 22:01:59 +00:00
Sameer Rahmani
b0925a527b
[Bootstrap] Add a sample shared library to used with ffi api
2020-12-25 21:57:13 +00:00
Sameer Rahmani
7ee0a60f37
Update the dev.org file with more resources
2020-12-25 02:36:18 +00:00
Sameer Rahmani
cb96e15b9c
[Bootstrap]: Add some comment explaining the tree rewriting approach
2020-12-25 01:40:13 +00:00
Sameer Rahmani
a66245adb0
[Bootstrap]: Fix the error message for mismatch function arguments
2020-12-25 01:18:54 +00:00
Sameer Rahmani
0b56906474
[Bootstra] Rethink the eval loop to rewrite evaluation tree
...
Implement a new algorithm to eliminate TCO while preventing
premature execution exit by rewriting the evaluation tree and
replacing old nodes with new set of forms, for example the result of
some old form's evaluation, a body of a function or anything in
that nature. Couple the new forms with a possible new execution scope.
2020-12-25 01:18:54 +00:00
mary
cf772c1c47
Merge pull request 'add serene's asciiart to the REPL' ( #4 ) from repl-ascii-art into master
...
Reviewed-on: Serene/Serene#4
Reviewed-by: Sameer Rahmani <lxsameer@gnu.org>
2020-12-24 22:04:47 +00:00
Mary Salehi
f5b833cd03
add serene's asciiart to the REPL
2020-12-24 21:58:32 +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
fb6c1b3ba3
Add 'run' subcommand to Serene binary
2020-12-24 16:27:46 +00:00
Sameer Rahmani
69d30dd04e
Update dev.org with several resources on memory management
2020-12-24 12:55:16 +00:00