Commit graph

1491 commits

Author SHA1 Message Date
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
crc
b5e26d5284 documentation corrections, updates
FossilOrigin-Name: 00cfd4bafc17de7bd442051caeb92dda3c3bed778bc27a3d83d844cac1ef09e9
2021-05-17 17:04:42 +00:00
crc
e28cacde80 examples: update variables-and-formulas to UTF8 (thanks to Marcus Antonius for this)
FossilOrigin-Name: 8b1de0465acc120e74c8de8e168ac8f737ac59ca3ec00bbb94424eb765b184b4
2021-05-17 14:40:07 +00:00
crc
c5ff4cafff python: fix amalgamation
FossilOrigin-Name: db466b93ad53691a0a605bdd1d11d361798863b7fc77676a6cca4b5657e20a42
2021-05-17 14:17:26 +00:00
crc
8aaff8c471 nga-c: small cleanups to i/o instruction handlers
FossilOrigin-Name: f2e489705e6cdc757e5aa3dba3cc1cb0fa592806209a9861452352264a6dde61
2021-05-17 14:15:28 +00:00
crc
f5bcba0fb9 nga-c: avoid a multiplication in the shift instruction
FossilOrigin-Name: de286be9c667c2f531b210f4f6b9a67b0adb7510a6f439b3890f2273e8fb90f2
2021-05-17 14:10:25 +00:00
crc
edf54c7670 add additional public keys for future releases
FossilOrigin-Name: 96001b93cf8e83d97e0f2060d6ad5f291880f4bc42624d48cfe47dd8a3f0bc4b
2021-05-17 14:08:30 +00:00
crc
933475bce2 remove old signing keys
FossilOrigin-Name: b84a7093868f03a6a6352cda11ede8c8a7512e2c9f60a8a4d449603a0d3d9c5c
2021-05-17 13:36:32 +00:00