summary refs log tree commit diff
path: root/input.e
AgeCommit message (Collapse)Author
4 daysswap the parameters to "entry-flags!"Irene Knapp
Force-Push: yes Change-Id: I11f3eb1079d27a7306d6ed1e8e4b9fd6fb7d3a4a
5 daysadd the ability to bind signal handlersIrene Knapp
and a useful example one ;) this also involved fixing the failure cases in input.e to handle EINTR correctly. it required a lot of tracing, but now the expected state of the stack is much better commented for next time. many thanks to @cks@mastodon.social who found code in the Go compiler which had the details of what's required in regard to the restorer, which made the whole thing work, and to @snowfox@tech.lgbt who did some experimental testing around the exact requirements. both those contributions are reflected in the documentation added with this CL. additional thanks to everyone who chimed in on the fedi thread, your comments kept us going! Force-Push: yes Change-Id: I97fd89426bf807df5565e011d3665f7e904fa138
6 daysdeal properly with EINTR from sys-readIrene Knapp
this will be necessary to resume after running a signal handler. it had a bug where any error code other than ENOENT would be treated as a number of bytes read, resulting in a negative value for the buffer's logical length. amazingly this didn't crash, but it wasn't great. anyway now that's all fixed Force-Push: yes Change-Id: I1c2b45d8efd531c121c5695cdf0cc74609c80547
11 daysde-branch'd all the internalsIrene Knapp
so it's all just high-level flow control now, which makes it load in itself the output isn't identical on the first self-compilation, but it converges on the second with this, it is officially self-hosting. WOW. Force-Push: yes Change-Id: Ic14de1dae209b200cada269b07c3826c86fa494f
11 daysit runs!!!!!! it interactively reads input and everythingIrene Knapp
only some of that actually works, but hey, it's a start Force-Push: yes Change-Id: Ib82beb695be1a18de8aaaf3040b7c632851c6002
11 daysthe interpreter fully compiles nowIrene Knapp
doesn't work quite yet. close :) Force-Push: yes Change-Id: I71b6e788790fe2ca8e07dae95e9ad6e39d0664c0
11 daysokay, input buffers should work now (untested though)Irene Knapp
the word "variable" also needed special treatment, in the same way that "keyword" did. it's not immediately clear why. Force-Push: yes Change-Id: I15fae39b1b9ec928281150c76260940717b8e27a
11 daysdynamic.e is split up again, and more progressIrene Knapp
see dynamic.e, input.e, interpret.e, and flow-control.e there were a couple things in the log-load transform that need to work in compile mode, too Force-Push: yes Change-Id: I7caac3b9205f36f7e082a3fd280561d67e27942c