Commit graph

1498 commits

Author SHA1 Message Date
crc
be7b1ad007 nga-c: add unix:execute
FossilOrigin-Name: d3e589e1fe696182ca97ddbd6065b693459781a074f34899eb3809ef9eedf62e
2021-06-18 13:39:57 +00:00
crc
2b311ceab7 nga-c: non-libc: openbsd-amd64 support, source cleanups
FossilOrigin-Name: f8712bb8ce359909a61a8d0ff917173da4e35b8586e34b6207e3604ae40f139e
2021-06-17 18:49:53 +00:00
crc
6f8bd3047f nga-c: non-libc version updated. closes #59
FossilOrigin-Name: e52d8d1976ce3be3dbdc10e92667e629602ae91a8619213a8ff8cc642524ddb0
2021-06-17 13:58:50 +00:00
crc
e8d09ec1ec nga-c-wip: start work on setting up a single struct to hold the system state (#67)
FossilOrigin-Name: ca0e3ee3d97c7188edbb9ef4a86ede7ae2cc141d5d8ed20c33c9ca7a0f400c02
2021-06-11 19:51:42 +00:00
crc
ac848b05f5 nga-c: add retro-wip.c for implementation changes from issue #66
FossilOrigin-Name: 6a36e1b939d5b12e9b5a7a40221a34302ea550abb879efc22460b42075a3dbcc
2021-06-11 19:36:38 +00:00
crc
752a312f88 casket: dont require specifying the index.html for directories
FossilOrigin-Name: d6cf6ded09795da5e31872bd9cbb6fe01d2078e436202d8a94988668384cdb20
2021-06-09 12:16:02 +00:00
crc
89570c12b2 nga-c: fix bug in ha instruction
FossilOrigin-Name: b832dc786f8f87be737d11f979d1646675b50d572c154a72d3422a3114160e09
2021-06-09 00:09:05 +00:00
crc
c8a5b047bd image: rename s:index-of, s:index-of-string, a:index-of, a:index-of-string
FossilOrigin-Name: 88416f7a177a6171739a75db5ad4d399735ecd29836424897629ca1787d776d2
2021-06-04 18:34:59 +00:00
crc
06ee9705a8 image: rename some words
s:contains-char?  to  s:contains/char?
s:contains-string? to s:contains/string?
a:contains-string? to a:contains/string?

old names are now deprecated and will be removed after 2021.7.

FossilOrigin-Name: 5a19d7aac514c5ba87963c5f0645f3daa8a8e3dc04546c0627fa046479ecd8dd
2021-06-04 13:54:21 +00:00
crc
ae55f1cd45 image: sigil:: is now a hook point
FossilOrigin-Name: 3f5f0a6728041ad5465a46269d358b64a98d1b4424b5a8376c9ff8e592e419dd
2021-06-04 13:37:42 +00:00
crc
db64b92476 image: use inline assembly for n:inc and n:dec
FossilOrigin-Name: 3e31ec7bcd7ae0c6c415a8dab10709d8525f9b1a369e7a6f7dd9157c18ca06d3
2021-06-04 12:20:10 +00:00
crc
41b3c18145 image: move hook related words to earlier in the image to allow more words to become hooks
FossilOrigin-Name: 15ce16aec360a493a709294e696af8d60fd32a1f36a215430d014dfc40a265f8
2021-06-04 12:07:06 +00:00
crc
5245935879 nga-cxx: add in initial image; formatting tweaks
FossilOrigin-Name: 35467c97aa2a9e99f8c84dafb3dc0887963977b266bcc964e8d3ba0ac081781b
2021-06-03 17:30:19 +00:00
crc
ec167abf4f nga-cxx: initial implementation from Arland Childers
tested and confirmed to run the test images and a basic listener.
still very early, not optimal, and non-idiomatic.

FossilOrigin-Name: 7d7fba940efdc621f63f9ac799addbecd1ddd473209e11fbe6901cbef2ae5934
2021-06-03 17:07:10 +00:00
crc
fb82418d88 nga-c: fix an issue with script:current-line
specifically, script:current-line was not working. this patch
isn't fully tested, but does fix issues in my test case. it
makes `script:current-line` immediate (so references inside a
definition will actually make sense) and fixes an issue that
was causing indented lines to be counted twice.

since this now skips indention, it should cut down on the
number of evaluations on empty tokens, which will save a little
time when running programs.

FossilOrigin-Name: 0393f609b505ec2a364831078f36ec44b633ea579e7bc0b74a9665c07f08d7ce
2021-06-03 14:07:29 +00:00
crc
ca23660abe docs: clarify that ---reveal--- can be left out and using it without public names will corrupt memory.
FossilOrigin-Name: ecf434a6642f69195a8637bd44bbdded5fde50e21638f23d576b282c1c079bec
2021-06-03 04:05:58 +00:00
crc
3af723f9fd docs: merge in words.tsv corrections from rick_carlino
FossilOrigin-Name: 32e12784fe431a854711acf2ec45795b3c69c2e77a9824281c21678925df671f
2021-06-02 12:16:21 +00:00
crc
edfa9d4a6a image: fix sigil:& to return 0 as expected if name not found (bug identified by rick)
FossilOrigin-Name: 1e0bc9ce4023e9ab03cf73446bcab27a4811571fc102ca14a35bfb5b8413aaed
2021-06-02 03:51:31 +00:00
crc
413ccb3ac8 glossary: clarify that sigil:& returns 0 if word not found
FossilOrigin-Name: e949baafbacd0f29c688b55207db750d5abf80293d35dc045b192e1dee1d9a41
2021-06-02 03:38:07 +00:00
crc
5d37b57745 image: fix buffer overflow in n:to-string
FossilOrigin-Name: 34b4036e1a1de88c059168442b122400e6623917ba44b01758ae59cda1d4b89d
2021-06-02 03:23:12 +00:00
crc
0913e90d7f bug reporting: remove freenode
FossilOrigin-Name: c9f800bd51650ad915d9679cdec239ba849ff6a110cbff659699d2553ca2ff56
2021-06-01 19:54:37 +00:00
crc
0307e57fdc add test images for each instruction excluding i/o
the tests now include a small muri assembly file for each
instruction. if your vm runs these successfully and supports
basic i/o, it should be sufficient to run a full retro system.

FossilOrigin-Name: b80eaeb75ee2b4476f5b5a4aa62adf76da3ed11ac3b2f493f77d9bd4366f8ea9
2021-06-01 19:00:48 +00:00
crc
91aa668160 retro-compiler: fix a duplicate #define
FossilOrigin-Name: 3a84e4797f2d2e039c029607ee2e39d09a1e16ec6622e6a931169444411e4603
2021-06-01 13:44:53 +00:00
crc
aa99e1b54a nga-c: -t now takes a command line argument for the file name
this closes #63. rick noted that -t is not consistent with -f,
the changes here address this. -f now loads code blocks from a
file, and -t will load both code and test blocks.

FossilOrigin-Name: b32065ff68714f4c6b86e17da44c4778a0ce9ceb7db81a3466edd3da312d47e0
2021-06-01 13:42:30 +00:00
crc
cfd4e9ea15 floating point: increase precision in f:E and f:PI
FossilOrigin-Name: bd213f06612c3c2c2a71cb1bce2fe55d991ef8801f81152e354981f407602c5b
2021-05-31 00:14:34 +00:00
crc
b2c21faca4 image: under 1024 cells again
FossilOrigin-Name: 06bfab86c32a1b9271c726667d79d8b985b5c4a106b21c630468699fe4f90f78
2021-05-30 22:01:54 +00:00
crc
0235d20ad5 image: correct a comment; reduce footprint by 1 cell
FossilOrigin-Name: 5494777637dca11853168e79222ffebf3d9e6c2022ec5978b154fa4fc74537c6
2021-05-30 21:49:28 +00:00
crc
449675fb8c toolchain: more small improvements to amalgamation
FossilOrigin-Name: 758b5410fab3b0db708bbf0c4f3d4e8eb3150a5a6fb05ce46302a318d1023aed
2021-05-28 19:39:11 +00:00
crc
c1f00b2458 nga-c: dump stack if execution returns to main after interactive or run image mode
FossilOrigin-Name: e9539243b7437f60d823ad012a3fea63a504203781f0ae4f1802375a883da8f6
2021-05-28 19:24:16 +00:00
crc
f9d0e9e603 nga-c: fix -r command line handling
FossilOrigin-Name: ef0817e9ffea751d0ad511abaf2e862c6058a0b0432564b9715a5cc37519c998
2021-05-28 19:12:33 +00:00
crc
1308006c41 fix
FossilOrigin-Name: c87761406ccef6a856710a913be725648b11a6dd003b8b7d169f1efa8cd772d0
2021-05-28 19:04:27 +00:00
crc
e906676d22 retro-unix: the old TIB was hard coded, use the stored pointer at address 7 now.
this fixes a buffer overrun that caused the `err:notfound` header to be messed up.

i also policed some whitespace and removed obsolete comments in a few files.

FossilOrigin-Name: 4db7040fbc6a4f73e7da6a32de89de915aca6d33137afd04f8d5b3368612b214
2021-05-28 18:58:21 +00:00
crc
9261731cac updates to re
FossilOrigin-Name: 1ce24306bdcaece63fd9bfbcbbce016537fad00e77ae41aa088558289a4eb0f8
2021-05-28 18:22:43 +00:00
crc
b740977641 update glossary to mention vectored words
FossilOrigin-Name: 628b08a24c3468e8202034a2d065aceaa7898e4f165d45784a27bd5201d31630
2021-05-28 11:07:55 +00:00
crc
c2b9016d86 c:get is now vectored
FossilOrigin-Name: 29f8192c8a5290592bf646704ac339a807e8cc8de8776c3b9c4a089bf06a002e
2021-05-28 11:07:40 +00:00
crc
a423e0102c add entries for oftc & libera to irc notes
FossilOrigin-Name: 9cfb7453c6d520fe694d99e8e9c532ab990c0a0882057410cfb8eb3926580d49
2021-05-26 18:23:10 +00:00
crc
f92cfda64b example: irc bot now using libera.chat
FossilOrigin-Name: cbe812d52db72ac2c2a2d6c7f61c617f2fac017d7b2bbf7e5bca348f5f38b6ae
2021-05-26 17:17:53 +00:00
crc
9e767e0a10 forgot to include aliases for the deprecated words
FossilOrigin-Name: 3f2761d7ce1c4d062e4dddc57a8908989acc900355f6822313ffa599d3bb7d04
2021-05-25 17:22:21 +00:00
crc
13ecc59a18 deprecate s:split, s:split-on-string. Use s:split/char and s:split/string instead.
FossilOrigin-Name: 8514ad5c60cc7c2f34ffd651bd74f477a582d04609b3bba546a1c702963fae94
2021-05-25 14:35:26 +00:00
crc
12636a7a97 nga-swift: add Xcode project for command line target
FossilOrigin-Name: d7b9a81c3ebf00176ab2beccb8c9761b3ecce6d829ec5d04deac34bc96efe8fb
2021-05-19 11:26:18 +00:00
crc
62275e377d nga-swift: rename Nga.swift
FossilOrigin-Name: ab552b73de922056ef45dab3260c40918163c00702ba9fa04611c944e23173a8
2021-05-19 11:24:39 +00:00
crc
c3adf4c594 reduce kernel by 3 cells
FossilOrigin-Name: e551008a2d0fddeb2c5a85c0434c1f6b201e800f590a9f1ff26f1612ae4ca29d
2021-05-18 19:59:11 +00:00
crc
cb22c59b5a add support multiple bases
This set of patches:

- adds a `Base` variable
- adds `decimal`, `hex`, `octal`, and `binary`
- extends `s:to-number` to support `Base`
- extends `n:to-string` to support `Base`
- updates the glossary to cover these

Additionally:

- removes the 1024 cell limit for the kernel
- adds a header cell (7) for the start of the text input buffer
- adds a header cell (8) for the end of the text input buffer
- updates most Nga implementations that use the text input buffer to look at
  this instead of hard coding the address

FossilOrigin-Name: 391ad6fc0187e5ff3089d5c42d5d5e1c18fd0b2379c90a148ba44bb66145f020
2021-05-18 19:42:35 +00:00
crc
f7d6c19115 automated testing: fix some things related to testing retro-compiler
FossilOrigin-Name: 878628cd439cd9cd3646177b5c0b69da903cdb4bc2bf8ac29eeca053d578dcc0
2021-05-18 14:09:10 +00:00
crc
4a63074a63 nga-c: include stdint.h
FossilOrigin-Name: acf4dbeadd2cea4c7fd55d58f2b0cdde5b5d64171fe4bda1554d1baf82371381
2021-05-18 13:46:28 +00:00
crc
25ef466829 gnu make: for retro-compiler, enable NEEDS_STRL and i/o devices
FossilOrigin-Name: 352ce03e0ab778995432c465d47e3ac672f0102ac00d83f54522a22c6cb680e5
2021-05-18 13:23:26 +00:00
crc
7b0d5cf069 add retro-compiler test to automated testing builds
FossilOrigin-Name: c5fbfd6ffa76c67cef92c896bbe37b7f52082dda8dc083e74a5ededa04bb54d5
2021-05-18 13:01:44 +00:00
crc
c45816157f work on the retro-compiler
specifically:

- remove old runtime implementation
- use the standard retro.c as basis of new runtime
- remove old files
- update Makefile

this does not address issue #3.

FossilOrigin-Name: 959bab6910c41cd3ce24bf46d3b9b61bb83864edb25afc5148e7023ffd58fbf5
2021-05-18 12:42:15 +00:00
crc
a197573d70 remove additional files not needed currently
FossilOrigin-Name: 752a86b087df66a9e5be580ba42e37adb895b824607c31067a02e14ab1924d44
2021-05-17 18:15:35 +00:00
crc
27c074fa00 in which many things change...
- the basic image now contains a minimal listener
- new repl.c uses the embedded listener rather than
  implementing the listener in C
- removed barebones.c as it's no longer needed (overlapped
  w/repl.c)
- removed retro-unix.c (use retro.c instead)
- removed retro-windows.c (use retro.c instead)
- removed retro-image.c (use image.c instead)

FossilOrigin-Name: 21cea9bf556aef732fd9248de2debaf00dce24304a426c56392d503723728f43
2021-05-17 17:18:27 +00:00