Commit Graph

137 Commits

Author SHA1 Message Date
Ekin
8c51133cf1 Changed the else if notation to elsif, and the keyword count 2021-06-15 12:04:27 +03:00
Ekin
1f91d1ee81 changed the elif notation to else if 2021-06-15 11:27:19 +03:00
Alexander Patel
c58159b63d
Fix typos + rename variables (#73)
* fixed typos in src/

* fixed typos in docs/

* fixed typos in README and tests/

* rename INITALIZE to INITIALIZE

* rename PRIMITE to PRIMITIVE

* rename moudle to module

Co-authored-by: Alexander Patel <acpatel@andrew.cmu.edu>
2021-06-15 13:07:49 +05:30
Thakee Nathees
da5d5d6993
Merge pull request #71 from alexcpatel/op-oreq-xoreq
Operators |= and ^= implemented
2021-06-15 10:25:27 +05:30
Alexander Patel
ae4d2971c1 operator oreq and xoreq implemented 2021-06-14 21:36:10 -07:00
Thakee Nathees
ba66b04f3f
Merge pull request #69 from ThakeeNathees/op-andeq
Operator &= implemented
2021-06-14 21:57:21 +05:30
Thakee Nathees
72e7522c12 operator andeq implemented 2021-06-14 21:50:07 +05:30
Thakee Nathees
1ea9e4c5c7
Merge pull request #67 from ThakeeNathees/import-name-bug
import name bind bug fix
2021-06-14 10:16:17 +05:30
Thakee Nathees
558241a77b import name bind bug fix
stack curreption (due to stack missing parameters)
fixed, and some assertion macros added.
2021-06-14 09:55:18 +05:30
Thakee Nathees
848e4c338b
Merge pull request #66 from xSavitar/typo-cleanup-pocketlang.h
Cleanup some typos from the `include/pocketlang.h` header file
2021-06-14 00:42:16 +05:30
Derick Alangi
f1ac31953a Cleanup some typos from the include/pocketlang.h header file 2021-06-13 19:22:57 +01:00
Thakee Nathees
e90763c878 Merge pull request #65 from xSavitar/attr-range-start-end
Add support for `.start` and `.end` attributes on Range objects
2021-06-13 22:30:16 +05:30
Derick Alangi
ece87384ab Add support for .start and .end attributes on Range objects
This is an attempt to implement `.start` and `.end` on range objects
to fix issue #60.
2021-06-13 17:30:22 +01:00
Thakee Nathees
d7f7c21081
Merge pull request #62 from ThakeeNathees/tco
Tail call optimization implemented
2021-06-13 21:58:36 +05:30
Thakee Nathees
6992f54ef3 Tail call optimization implemented 2021-06-13 21:57:54 +05:30
Derick Alangi
22be6af376 Add support for bitwise XOR, LSHIFT and RSHIFT operators (#63)
This commit addresses issue #54 in an attempt to add more bitwise
operators to pocketlang. Tests have also been written to verify that
the operators indeed works as expected.

To add, I also introduced a macro PK_RIGHT_OP that just aliases the
string "Right operand" which was already getting too hardcoded and
appearing too much in the pk_core.c file.
2021-06-13 20:27:48 +05:30
Thakee Nathees
9b2d28ef45 docs update after lang.disas 2021-06-13 11:03:18 +05:30
Derick Alangi
2707c1eec3
Fix #54: Add bitwise OR operator and make it available in PKVM (#59)
* Fix #54: Add bitwise OR operator and make it available in PKVM

Like the bitwise AND, this is an implementation for pocketlang to
support the bitwise OR operation. In addition, updated "value" ->
"result" in other operation to correctly reflect the container's
purpose. It's indeed the result after the operation, which is a value
too.

In addition, add tests for bitwise AND (&) and bitwise OR (|). Add a
print statement in test file with message that all tests passed with
no errors.

* Fix typo in comment

* Cleanup fixes
2021-06-13 09:43:05 +05:30
Thakee Nathees
04bc61e93d
Merge pull request #61 from ThakeeNathees/disas
Disassembler public api for debugging.
2021-06-12 16:40:56 +05:30
Thakee Nathees
17df5eb1e4 disassemble implemented 2021-06-12 16:34:10 +05:30
Thakee Nathees
473daa4716
Merge pull request #58 from xSavitar/cos-and-tan
Fix #56: Implement the `cos()` and `tan()` math functions
2021-06-11 23:00:02 +05:30
Derick Alangi
15716de9ce Fix #56: Implement the cos() and tan() math functions
I've also written tests in the corresponding test files, please have
a look. But on the command line (after compiling the source), do:

>>> from math import *
>>> print(cos(1))
[ results will be displayed here ]
>>> print(tan(1))
[ results will be displayed here ]
2021-06-11 18:14:20 +01:00
Thakee Nathees
749456e215 some (minor) code cleanups 2021-06-11 13:16:55 +05:30
Thakee Nathees
4bf045bcac
Merge pull request #52 from ThakeeNathees/authors-file-created
created an AUTHORS file.
2021-06-11 01:15:14 +05:30
Thakee Nathees
4d2fc474f9 created an AUTHORS file. 2021-06-11 01:14:14 +05:30
Thakee Nathees
484aa5d88f
Merge pull request #51 from ThakeeNathees/core-attrib
Core attributes refactored and added tests
2021-06-10 23:55:05 +05:30
Thakee Nathees
9fdab23a94 core attributes refactored and added tests 2021-06-10 23:12:04 +05:30
Derick Alangi
3a7ffc7cf1
Cleanup more typos from cli/ source files (#50) 2021-06-10 07:53:16 +05:30
Derick Alangi
fd6d2412ee
Fix more typos in cli/common.h (#49) 2021-06-10 04:27:28 +05:30
Derick Alangi
04c333a15e
Set pointer to first byte of mem block when realloc()'d (#48)
* While reading various files in the repo, just going ahead to
clean up some typos (for clarity of text).

* When calling `realloc()`, let the pointer be returned to the
first byte of the memory block after resize. Compiler warns against
not doing this too.

* In addition, rename the file uitls.c to "utils.c" which seems to
be the correct name in this case.

NOTE: I recompiled and tested the `./pocket` intepreter and it still
works as expected.
2021-06-10 04:10:24 +05:30
Thakee Nathees
49c1fec85f
REPL implementation. (#47) 2021-06-09 16:12:26 +05:30
Derick Alangi
1a60646e38
Fix minor typos, while reading codebase (#46)
* Fix minor typos, while reading codebase

* Fix typo in common.h comment

* Fix typo in src/common.h
2021-06-08 22:19:58 +05:30
Derick Alangi
595f120ecd
A quick documentation on how to run a pocketlang program locally (#45)
* A quick documentation on how to run a pocketlang program locally

With a small factorial program written in pocketlang and executed
on the terminal, this demonstrates how to execute a script on a
loalhost using pocketlang binary

* Apply changes requested in review #1
2021-06-08 21:51:15 +05:30
Thakee Nathees
63d3039eeb
Merge pull request #44 from ThakeeNathees/repl-refactor-3
REPL refactor [3/3]
2021-06-08 20:22:39 +05:30
Thakee Nathees
9901d4d441 REPL refactor [3/3] 2021-06-08 19:32:43 +05:30
Thakee Nathees
14ff7070bb
Merge pull request #43 from ThakeeNathees/repl-refactor-2
Refactor for REPL support [2/3]
2021-06-07 20:13:21 +05:30
Thakee Nathees
fdf685731d refactor for repl support [2/3] 2021-06-07 20:00:35 +05:30
Thakee Nathees
3092118008 Merge pull request #42 from ThakeeNathees/fiber-docs
fiber documentations
2021-06-07 07:20:06 +05:30
Thakee Nathees
3558a1994a fiber documentation written 2021-06-06 19:48:47 +05:30
Thakee Nathees
8800c1baf0 Merge pull request #41 from ThakeeNathees/fiber-vm
Fiber implemented.
2021-06-06 07:46:43 +05:30
Thakee Nathees
e1711b1c9d fiber implemented. 2021-06-06 03:10:58 +05:30
Thakee Nathees
8d869cec26
Merge pull request #40 from ThakeeNathees/repl
VM refactor for REPL [1/3]
2021-06-05 18:53:46 +05:30
Thakee Nathees
284232c8c6 minor parser refactor for repl 2021-06-05 18:50:53 +05:30
Thakee Nathees
d74a06eacf Merge pull request #39 from ThakeeNathees/style-guide
some style guides were enforced.
2021-06-04 13:46:52 +05:30
Thakee Nathees
0bebeaafdf some style guides were enforcde.
- according to https://github.com/mcinglis/c-style
2021-06-04 13:26:50 +05:30
Thakee Nathees
6ee8226a50 Merge pull request #38 from ThakeeNathees/more-docs
more comments written through out the source
2021-06-03 07:47:19 +05:30
Thakee Nathees
f9bf0c1b9c more comments written throught out the source 2021-06-03 07:40:07 +05:30
Thakee Nathees
2c1468f0e8 Merge pull request #37 from ThakeeNathees/bug-fixes
controlflow bugs fixed
2021-06-02 19:53:04 +05:30
Thakee Nathees
db0f4ebb5e controlflow bugs fixed 2021-06-02 17:32:13 +05:30
Thakee Nathees
c9c0c56dbc Merge pull request #36 from ThakeeNathees/docs-improve
documentations updated
2021-06-02 09:24:28 +05:30