Skip to content
This repository was archived by the owner on Nov 11, 2021. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
165 commits
Select commit Hold shift + click to select a range
96efeda
Revert "The development is moved to GitLab"
rexim Oct 13, 2021
8fdbb05
Update Language Reference
rexim Oct 13, 2021
f1073f1
Try out intrinsics documentation in form of a table
rexim Oct 13, 2021
a8cda8e
Drop parens in the intrinsics signatures
rexim Oct 13, 2021
12e9a58
Check how bitwise section is rendered
rexim Oct 13, 2021
1bde7e9
Try to fix the rendering of the Bitwise section
rexim Oct 13, 2021
e4be390
Use table for the Memory section
rexim Oct 13, 2021
595f213
Remove parenthesis from the signatures
rexim Oct 13, 2021
4d62337
Remove the unreachable code and fix the unreachable asserts
rexim Oct 13, 2021
234f336
Rename test case else-less-if -> if-else-less
rexim Oct 13, 2021
eb7f2db
Merge branch 'fix-type-checking'
rexim Oct 14, 2021
7559ca1
Implement a better Type Checking strategy
rexim Oct 14, 2021
ce0e2b1
Merge branch 'fix-type-checking'
rexim Oct 14, 2021
f46a35c
Add solution for 8th Project Euler Problem
rexim Oct 14, 2021
e7df1ef
Add solution for 9th Project Euler Problem
rexim Oct 14, 2021
8f61b6a
Report "no pre-do" error properly
rexim Oct 14, 2021
30597e0
Deprecate old style 64 bit memory access intrinsics
rexim Oct 15, 2021
1a993f1
Deprecate old style 8 bit memory access intrinsics
rexim Oct 15, 2021
2e15628
Make 8 bit memory access intrinsics more consistent with 64 bit ones
rexim Oct 15, 2021
cb96f71
Merge branch 'remove-old-style-store-load'
rexim Oct 15, 2021
5abd5dc
Tweak wording
rexim Oct 15, 2021
5a2c804
Remove the FORTH_* prefix from 8 bit memory access intrinsics
rexim Oct 15, 2021
ed0e54d
test
rexim Oct 15, 2021
f271d14
Add memory-map-file.porth
rexim Oct 15, 2021
2cebbf0
Add more stuff to std.porth
rexim Oct 15, 2021
f4b7293
Remove debug logging
rexim Oct 15, 2021
53e935f
Add words analyzer to examples
rexim Oct 15, 2021
23d390c
Merge branch 'self-hosted-parsing'
rexim Oct 15, 2021
0b94b00
Add the rest of the cast intrinsics
rexim Oct 15, 2021
8b71215
Merge branch 'all-casts'
rexim Oct 15, 2021
178b37c
Revert "test"
rexim Oct 15, 2021
324e3b3
Remove mentioning of `.` and `.64` intrinsics from the reference
rexim Oct 16, 2021
30e94ee
Refactor reversed-linked-list example
rexim Oct 16, 2021
1f1e258
Use struct accessor style from reversed-linked-list example in Porth
rexim Oct 16, 2021
d8627c5
Use !Op.operand in porth.porth
rexim Oct 16, 2021
955189a
Better Str struct accessors
rexim Oct 16, 2021
277e8dd
Use type casting in the definition of `true` and `false`
rexim Oct 16, 2021
9304758
Merge branch 'refactor-reversed-linked-list'
rexim Oct 16, 2021
b19df02
Stub conventions section
rexim Oct 16, 2021
d7fa572
Fix crash on type checking empty program
rexim Oct 16, 2021
eedccc6
Merge branch 'empty-program-bug'
rexim Oct 16, 2021
af6e6ab
Add a note to porth.porth about what it is
rexim Oct 16, 2021
76101cc
Add another milestone to the plan
rexim Oct 16, 2021
d120972
Refer to the current progress in the "Self-hosted" milestone
rexim Oct 16, 2021
3619e2d
Remove mentioning of `,` and `,64` intrinsics from README
rexim Oct 16, 2021
c4e433d
Add solution for Project Euler Problem 10
rexim Oct 16, 2021
11ce39e
Integrate self-hosted parsing into porth.porth
rexim Oct 16, 2021
c6288a7
Unhardcode dump subcommand
rexim Oct 16, 2021
1690251
Merge branch 'self-hosted-parsing'
rexim Oct 16, 2021
77aa504
Update CONTRIBUTING.md
rexim Oct 16, 2021
7616e8b
Rename 8-bit memory access intrinsics
rexim Oct 16, 2021
c39744b
Implement 32 bit memory access intrinsics
rexim Oct 17, 2021
9ba3bc1
Use 32 bit numbers in Project Euler Problem 10 to reduce memory usage
rexim Oct 17, 2021
e540914
Merge branch '32-bit-mem-access'
rexim Oct 17, 2021
233ab17
Get rid of loops from memory access intrinsics in simulation mode
rexim Oct 17, 2021
d02b7d6
Add more details about Project Euler Problem 10 performance
rexim Oct 17, 2021
9390b9e
Add support for `-` intrinsic to porth.porth
rexim Oct 17, 2021
4f15600
Add logical not to std.porth
rexim Oct 17, 2021
c4e5f4c
Add isdigit to std.porth
rexim Oct 17, 2021
9f4b0be
Report location of unknown words in porth.porth
rexim Oct 17, 2021
12cf637
Implement `dup` and `drop` for porth.porth
rexim Oct 17, 2021
ae0d740
Implement 16 bit memory access intrinsics
rexim Oct 17, 2021
05d7895
Fix error in the documentation
rexim Oct 18, 2021
e83bb4f
Implement memory region definition
rexim Oct 18, 2021
6d83a23
Use memory sections in porth.porth
rexim Oct 18, 2021
1df87d0
Fix compilation of GoL example
rexim Oct 18, 2021
6d68f14
TODO: check of stack underflows in memory definition
rexim Oct 18, 2021
35f0390
Fix bug while parsing macro containing memory block
rexim Oct 18, 2021
847ed04
Merge branch 'better-memory'
rexim Oct 18, 2021
ef87796
Don't use mem in Project Euler solutions
rexim Oct 18, 2021
f5511d3
Don't use mem in unit tests
rexim Oct 18, 2021
10d4d15
Don't use mem in examples
rexim Oct 18, 2021
844acdf
Fix mypy remarks
rexim Oct 18, 2021
85273a3
Implement simple PPM generator
rexim Oct 19, 2021
94921cf
Fix porth.porth
rexim Oct 19, 2021
67e06a5
No need to have a flag to customize memory capacity
rexim Oct 19, 2021
9b16e56
Fix example in README
rexim Oct 19, 2021
ff42c7f
Implement MUL intrinsic for porth.porth
rexim Oct 19, 2021
d39e8b4
Move a bunch of things to std.porth
rexim Oct 19, 2021
6dc2c48
Make porth.porth run nasm and ld as child processes
rexim Oct 19, 2021
14713bc
Fix "not enough argument" error reporting for do blocks
rexim Oct 19, 2021
828243d
Add full subcommand to test.py
rexim Oct 19, 2021
cc06f09
TODO about bug in test.py
rexim Oct 19, 2021
1815842
Proper error reporting for memory redefinition
rexim Oct 19, 2021
298a316
Proper error reporting on memory redefining intrinsic
rexim Oct 19, 2021
9c510a8
Proper error reporting on memory redefinining macro
rexim Oct 19, 2021
0bdd26a
Factor out check_word_redefinition()
rexim Oct 19, 2021
400c21a
Report unsupported keyword in memory definition properly
rexim Oct 19, 2021
ab1c464
Report stack underflow in memory definition properly
rexim Oct 19, 2021
c4f7053
Improve error reporting in memory definition
rexim Oct 19, 2021
7be8b3b
Remove obsolete TODO
rexim Oct 19, 2021
177b006
Remove obsolete TODO
rexim Oct 19, 2021
ca2f74f
Merge str-chop-word and str-chop-line into a single macro
rexim Oct 19, 2021
47329a1
Implement procedures for compilation mode without type checking
rexim Oct 20, 2021
488fc9c
Fix proc redefinition error
rexim Oct 20, 2021
321c007
Fix simulation mode
rexim Oct 20, 2021
324eddb
Rough implementation of the typecheck of procs
rexim Oct 20, 2021
b6916d2
Fix the tests
rexim Oct 20, 2021
f4c9d01
Disable type checking for now
rexim Oct 21, 2021
9279f4f
Merge branch 'proc'
rexim Oct 21, 2021
978f3a2
Elaborate on how to use `-unsafe`
rexim Oct 21, 2021
34b3d70
Don't disable type checking in debug mode
rexim Oct 21, 2021
997dcfd
elif -> orelse
rexim Oct 21, 2021
1f772df
Add while-alter test case
rexim Oct 21, 2021
02d37ab
Always in debug mode for now
rexim Oct 21, 2021
12ba823
Add while-procs test case
rexim Oct 21, 2021
3218640
Fix type checking loops inside of procs
rexim Oct 21, 2021
afa1e7e
Update README
rexim Oct 21, 2021
cfe0f7c
elif -> orelse
rexim Oct 21, 2021
cf25d36
[porth.porth] Separate intrinsics from ops
rexim Oct 21, 2021
bf29e5a
[porth.porth] draft
rexim Oct 21, 2021
d7fdd95
Fix unclosed orelse block bug
rexim Oct 21, 2021
9161bf8
Merge branch 'orelse-bug'
rexim Oct 21, 2021
63b993f
Add test case for unclosed orelse bug
rexim Oct 21, 2021
4e3b7b6
[porth.porth] translate as many intrinsics as possible
rexim Oct 22, 2021
048c9fa
Merge branch 'master' into all-intrinsics
rexim Oct 22, 2021
712fdfd
Merge branch 'all-intrinsics'
rexim Oct 22, 2021
1a264b3
[porth.porth] implement `if-end`
rexim Oct 22, 2021
7434dc7
[porth.porth] Check for ops overflow
rexim Oct 22, 2021
3949a5b
[vim] Highlight keywords as keywords
rexim Oct 22, 2021
cb154d0
[porth.porth] add support for comments
rexim Oct 22, 2021
ddcb7ca
Fix TODO spelling
rexim Oct 22, 2021
3453a77
Report the location of the original proc definition
rexim Oct 24, 2021
dd2ecac
Merge branch 'original-proc-def'
rexim Oct 24, 2021
0d9c095
Implement constants
rexim Oct 24, 2021
8cb7cda
Document the Use Case for Porth
rexim Oct 24, 2021
ecfb063
Merge branch 'consts'
rexim Oct 24, 2021
14c2dce
Partial implementation of local memory
rexim Oct 24, 2021
20f6084
Fix global memories shadowing the local ones
rexim Oct 24, 2021
a4efd17
Cleanup debug comments in the generated assembly
rexim Oct 24, 2021
ab6dcff
Implement local memory for simulation mode
rexim Oct 24, 2021
efd5343
Merge branch 'local-memory'
rexim Oct 24, 2021
7d297c1
[porth.porth]delete try_to_parse_word_as_int_or_fail_as_unknown_word
rexim Oct 24, 2021
149c9be
[std.porth] use local memory for streq
rexim Oct 25, 2021
e7ac452
[std.porth] use local memory in memcpy
rexim Oct 25, 2021
babb630
[std.porth] use local memory in fputd
rexim Oct 25, 2021
cde20ef
[porth.porth] Move external command related stuff to local memory
rexim Oct 25, 2021
e05bb15
[porth.porth] move out-fd to local memory
rexim Oct 25, 2021
7384a5b
[porth.porth] move file-path-cstr to local memory
rexim Oct 25, 2021
2132747
[porth.porth] move parsing related vars to local memory
rexim Oct 25, 2021
c448252
offset/reset
rexim Oct 25, 2021
eb86a6c
[std.porth] start using consts in appropriate places
rexim Oct 25, 2021
8e2d154
[porth.porth] move more stuff to local memory
rexim Oct 25, 2021
11603fa
We don't need memory layout convention anymore
rexim Oct 25, 2021
52bd8da
We don't really have any array conventions
rexim Oct 25, 2021
8a7b869
Move str-chop-by-delim stuff to local memory
rexim Oct 25, 2021
b9bb98d
Outline what needs to be documented
rexim Oct 25, 2021
36f3b06
Implement if*
rexim Oct 25, 2021
8fd75e9
Fix if-orelse test case
rexim Oct 25, 2021
56b4731
Fix else-not-inside-if-error test case
rexim Oct 25, 2021
9303aa3
Fix compilation of porth.porth
rexim Oct 25, 2021
0cffb0a
Merge branch 'if-star'
rexim Oct 25, 2021
09de628
Deprecate nop
rexim Oct 25, 2021
9f23650
Refactor try-parse-int test case
rexim Oct 25, 2021
71b1c5b
Rename putd -> putu
rexim Oct 26, 2021
e8d057c
Change the openat syscall so it takes 4 arguments
mjz19910 Oct 12, 2021
0b0d184
Some porth programming, get porth to fork and run
mjz19910 Oct 13, 2021
e6edf33
Cleanup logging during Control Flow graph generation
rexim Oct 13, 2021
6c195da
Grab upstream from gitlab and apply stash
mjz19910 Oct 14, 2021
618e7e0
Manual rebase(checkout -p upstream)
mjz19910 Oct 26, 2021
1ee34dc
add settings and spelling json
mjz19910 Oct 26, 2021
ad51df3
add cspell words
mjz19910 Oct 26, 2021
1d0f1d7
add cspell words
mjz19910 Oct 26, 2021
157023f
[std.porth] remove all macro usage
rexim Oct 26, 2021
190d7c2
Merge branch 'master' of https://gitlab.com/tsoding/porth
mjz19910 Oct 26, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,5 @@ __pycache__/
*.o
*.dot
*.svg
*.ppm
porth
6 changes: 6 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"cSpell.enabled": true,
"cSpell.words": [
"O_WRONLY"
]
}
10 changes: 7 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
No contributions are accepted right now since the language is not
stablized yet and I'm still actively experimenting with the design.
stablized yet and I'm actively experimenting with the
design. Contributions will be opened later when I feel that the
language is stable enough. Feel free to do whatever you want with the
source code itself according to the MIT license though.

Feel free to do whatever you want with the code itself according to
the MIT license though.
If you have any questions about the language or want to report bugs
(NO FEATURE REQUESTS) please send them to [email protected] or
[email protected]
Loading