Simon Forman
ecf79b9de0
pop_any(), pop_int(), and add
2023-02-03 15:46:52 -08:00
Simon Forman
3ae0e5b3a6
Interpret symbols.
...
C has function pointers, we can put them in the Gperf wordlist, this
makes the interpreter really simple. No need for a dictionary (yet).
Implementing the basis functions will be a bit of a slog, and
I still have to implement definitions, but this is starting to shape up
nicely.
2023-02-03 11:48:32 -08:00
Simon Forman
f2b2b92c2c
Yet more minor cleanup.
2023-02-03 09:39:02 -08:00
Simon Forman
7df01dfe5e
More minor cleanup.
2023-02-03 09:30:11 -08:00
Simon Forman
64eb28a648
Minor cleanup.
2023-02-03 09:27:30 -08:00
Simon Forman
8647f40895
newJoyList
2023-02-03 09:18:32 -08:00
Simon Forman
fb40b11fb0
Can haz function pointers in my worldist.
2023-02-03 08:13:57 -08:00
Simon Forman
cd98e01efc
typedef for the win!
2023-02-02 20:45:28 -08:00
Simon Forman
f74a0fe0fa
make clean rule
2023-02-02 17:02:55 -08:00
Simon Forman
4be1cc5767
Use gperf to save memory.
...
We check terms to see if they're in the wordlist, if they are we reuse
the string from the wordlist instead of allocating a new one.
(I've always wanted to use Gperf so I'm pretty stoked about this!)
2023-02-02 16:58:44 -08:00
Simon Forman
0a66f2b804
Ignore object files.
2023-02-02 16:14:11 -08:00
Simon Forman
8dcaee342d
minor cleanup
2023-02-02 16:13:15 -08:00
Simon Forman
a2a18a1d05
Gperf.
2023-02-02 16:12:59 -08:00
Simon Forman
70fc8c612c
Minor cleanup.
2023-02-02 13:22:11 -08:00
Simon Forman
e342fb31de
True and False values.
2023-02-02 13:06:07 -08:00
Simon Forman
ab8b26d6f0
Copyright, etc.
2023-02-02 11:14:58 -08:00
Simon Forman
dee703ea52
Fix bug with no trailing spaces.
...
Gotta update that pointer, eh?
2023-02-02 10:58:03 -08:00
Simon Forman
e393016a32
I was post-incrementing when I should have been pre-incrementing!
...
D'oh!
2023-02-02 08:52:27 -08:00
Simon Forman
b759582439
Simple terms work. Problem is with sub-lists.
2023-02-02 08:36:13 -08:00
Simon Forman
ebae69c391
Parsing isn't this hard?
2023-02-02 08:32:45 -08:00
Simon Forman
9356e5394b
Um, don't do that.
...
I wonder where the data was winding up?
2023-02-01 20:36:18 -08:00
Simon Forman
288142c01a
Minor cleanup.
2023-02-01 20:34:49 -08:00
Simon Forman
bb41bf619d
Remove separate parser code.
2023-02-01 20:34:04 -08:00
Simon Forman
5d47512bf5
Print true, false, and lists.
2023-02-01 20:33:04 -08:00
Simon Forman
b09055f299
Print ints.
2023-02-01 20:28:24 -08:00
Simon Forman
202747cfbb
Print list.
2023-02-01 20:09:03 -08:00
Simon Forman
cd0bfc09d2
Text to expr coming along.
2023-02-01 19:26:50 -08:00
Simon Forman
8ae9851c0f
Need to be able to store a string.
2023-02-01 18:37:10 -08:00
Simon Forman
66cbbac1cc
Minor cleanup.
2023-02-01 18:35:11 -08:00
Simon Forman
6b87e46e00
Minor cleanup.
...
Don't pass NULL to strpbrk().
2023-02-01 17:39:37 -08:00
Simon Forman
5118881e6c
Handle stretches of blanks.
...
Don't create zero-length strings.
2023-02-01 17:25:54 -08:00
Simon Forman
9762502ea6
Nice skeleton of parser.
2023-02-01 17:17:35 -08:00
Simon Forman
6694d3d596
Almost there on parsing.
2023-02-01 16:57:46 -08:00
Simon Forman
2f71db945a
trim_leading_blanks
2023-02-01 16:40:14 -08:00
Simon Forman
b8b37af1a4
Let's parse.
2023-02-01 16:02:19 -08:00
Simon Forman
e32d1d22e6
Don't version the binary.
2023-02-01 15:26:07 -08:00
Simon Forman
e44dd3c9e6
I think I'm doing this right?
2023-02-01 15:25:21 -08:00
Simon Forman
5a32c649f9
minor style glitch
2023-02-01 14:56:11 -08:00
Simon Forman
e211fff94f
Minor cleanup.
2023-02-01 14:55:21 -08:00
Simon Forman
28fa767593
Messing around with C.
2023-02-01 14:23:54 -08:00
Simon Forman
8cb04fc72d
At this point...
...
...I'm just relearning C semantics. (And they are garbage, as is widely
known.)
I don't think there's much point to this (at the moment) because I don't
want to relearn C (at the moment) and Nim is available (at the moment.)
Really, I'm trying to do away with the entire relationship of C et. al.
to the underlying machine. (For instance, Nim gives you a much nicer
relationship, without the vast distance that, say, Python imposes.) I
should really look at other compiled languages, like Ocaml or Julia.
2022-09-22 20:43:25 -07:00
Simon Forman
ae864909ee
Create an int and add ints.
2022-09-22 20:08:24 -07:00
Simon Forman
5caa685bab
Try using GC_register_finalizer?
2022-09-22 19:34:57 -07:00
Simon Forman
5ceab61ca1
Maybe this is the right thing to do?
...
https://stackoverflow.com/questions/59489221/using-the-gmp-library-with-boehms-garbage-collector
2022-09-22 19:00:40 -07:00
Simon Forman
813c5c0a23
What would a little C Joy look like?
...
Let's use GMP for ints and Boehm GC.
2022-09-22 17:26:28 -07:00