os

An operating system
git clone https://erai.gay/code/os/
Log | Files | Refs | README | LICENSE

commit 5a0d169e2f9da861b2268a41a362336a08a2b63e
parent 30bb17b6474bda34fc8ca30a56842091749835a6
Author: erai <erai@omiltem.net>
Date:   Thu, 10 Apr 2025 22:19:20 -0400

Change charset to [" instead of [[

Diffstat:
Mcc0.c | 225+++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------
Mcc3.om | 70+++++++++++++++++++++++++++++++++++-----------------------------------
Mcc4.om | 18+++++++++---------
3 files changed, 200 insertions(+), 113 deletions(-)

diff --git a/cc0.c b/cc0.c @@ -17952,12 +17952,12 @@ u zget_link_table() { "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377*\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" - "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377*\000\000" - "\000\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" @@ -17972,32 +17972,12 @@ u zget_link_table() { "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000" "\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000" - "\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000" - "\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000" - "\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000" - "\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000" - "\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000" - "\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000+\000\000\000\000\000\000\000,\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000" - "\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000" - "\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000" - "\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000" - "\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000" - "\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000" - "\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000" - "\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000" - "\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000" - "\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000" - "\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000" - "\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000" - "\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000" - "\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000" - "\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000" - "\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000" + "\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000+\000\000\000\000\000\000\000*\000\000" "\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000" "\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000" "\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000" "\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000" - "\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000" + "\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000-\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000" "\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000" "\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000" "\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000" @@ -18010,17 +17990,15 @@ u zget_link_table() { "\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000" "\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000" "\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000" - "\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000" - "\000\000\000\000\000*\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" - "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" - "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377-\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377,\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" @@ -18053,6 +18031,28 @@ u zget_link_table() { "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000" + "\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000" + "\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000" + "\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000" + "\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000" + "\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000" + "\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000" + "\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000" + "\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000" + "\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000" + "\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000" + "\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000" + "\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000" + "\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000" + "\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000" + "\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000" + "\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000" + "\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000" + "\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000" + "\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000" + "\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000\000*\000\000\000\000\000\000" + "\000*\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" @@ -19942,7 +19942,7 @@ u zget_tag_table() { return (u)"\000\000\000\000\000\000\000\000;\000\000\000\000\000\000\000\017\000\000\000\000\000\000\000\036\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\000\000\000\000\000\000\015\000\000\000\000\000\000\000\027\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0009\000\000\000\000\000\000\000\000\000\000" "\000\000\000\000\000\005\000\000\000\000\000\000\000\006\000\000\000\000\000\000\000\014\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\021\000\000\000\000\000\000\000\007\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000<\000\000\000\000\000\000\0007\000\000\000\000\000\000\0007\000\000\000\000\000\000" "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\033\000\000\000\000\000\000\000\037\000\000\000\000\000\000\000\031\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\035\000\000\000\000\000\000\000\034\000\000\000\000\000\000\000\032\000\000" - "\000\000\000\000\000 \000\000\000\000\000\000\000\013\000\000\000\000\000\000\0005\000\000\000\000\000\000\000\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\026\000\000\000\000\000\000\0005\000\000\000\000\000\000\0001\000\000\000\000\000\000" + "\000\000\000\000\000 \000\000\000\000\000\000\000\013\000\000\000\000\000\000\0005\000\000\000\000\000\000\000\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\026\000\000\000\000\000\000\0005\000\000\000\000\000\000\0001\000\000\000\000\000\000" "\0005\000\000\000\000\000\000\0005\000\000\000\000\000\000\0005\000\000\000\000\000\000\0005\000\000\000\000\000\000\000\042\000\000\000\000\000\000\0005\000\000\000\000\000\000\0005\000\000\000\000\000\000\000-\000\000\000\000\000\000\0005\000\000\000\000\000\000\0005\000\000\000\000\000\000\0005\000\000\000\000\000\000\0005\000\000\000\000\000\000\0005\000\000" "\000\000\000\000\0005\000\000\000\000\000\000\0005\000\000\000\000\000\000\000'\000\000\000\000\000\000\0005\000\000\000\000\000\000\0005\000\000\000\000\000\000\0005\000\000\000\000\000\000\000%\000\000\000\000\000\000\0005\000\000\000\000\000\000\0005\000\000\000\000\000\000\000*\000\000\000\000\000\000\0005\000\000\000\000\000\000\0005\000\000\000\000\000\000" "\0005\000\000\000\000\000\000\0000\000\000\000\000\000\000\0005\000\000\000\000\000\000\0005\000\000\000\000\000\000\0005\000\000\000\000\000\000\000(\000\000\000\000\000\000\0005\000\000\000\000\000\000\000$\000\000\000\000\000\000\0005\000\000\000\000\000\000\000.\000\000\000\000\000\000\0005\000\000\000\000\000\000\0005\000\000\000\000\000\000\0005\000\000" @@ -34116,40 +34116,82 @@ u zpeg_P_lexer_charset(u vc) { u v5 = 0; u v6 = 0; u v7 = 0; + u v8 = 0; + u v9 = 0; + u v10 = 0; + u v11 = 0; + u v12 = 0; + u v13 = 0; + u v14 = 0; + u v15 = 0; zenter(vc, 110UL); - v1 = zliteral(vc, (u)"[["); + v1 = zliteral(vc, (u)"[\042"); if (v1 == 0UL) goto b1; b5: zchoice(vc); zchoice(vc); zchoice(vc); - v2 = zliteral(vc, (u)"]"); - if (v2 == 0UL) goto b12; - zfail(vc); - zfail(vc); -b10: zchoice(vc); - v5 = zliteral(vc, (u)"\134"); - if (v5 == 0UL) goto b26; - v6 = zany(vc); - if (v6 == 0UL) goto b26; + v2 = zliteral(vc, (u)"\134"); + if (v2 == 0UL) goto b14; + v3 = zany(vc); + if (v3 == 0UL) goto b14; +b13: zcommit(vc); + v6 = zliteral(vc, (u)"-"); + if (v6 == 0UL) goto b10; + zchoice(vc); + v7 = zliteral(vc, (u)"\134"); + if (v7 == 0UL) goto b36; + v8 = zany(vc); + if (v8 == 0UL) goto b36; +b35: zcommit(vc); b9: zcommit(vc); zcommit(vc); goto b5; -b26: zfail(vc); - v7 = zliteral(vc, (u)"]]"); - if (v7 == 0UL) goto b1; +b36: zchoice(vc); + zchoice(vc); + v9 = zliteral(vc, (u)"\042]"); + if (v9 == 0UL) goto b44; + zfail(vc); + zfail(vc); +b42: zfail(vc); +b10: zchoice(vc); + zchoice(vc); + v11 = zliteral(vc, (u)"\134"); + if (v11 == 0UL) goto b58; + v12 = zany(vc); + if (v12 == 0UL) goto b58; +b57: zcommit(vc); + goto b9; +b58: zchoice(vc); + zchoice(vc); + v13 = zliteral(vc, (u)"\042]"); + if (v13 == 0UL) goto b66; + zfail(vc); + zfail(vc); +b64: zfail(vc); + zfail(vc); + v15 = zliteral(vc, (u)"\042]"); + if (v15 == 0UL) goto b1; zleave(vc, 110UL); return 1UL; b1: zfail(vc); return 0UL; -b12: zchoice(vc); - v3 = zliteral(vc, (u)"\134"); - if (v3 == 0UL) goto b18; +b66: v14 = zany(vc); + if (v14 == 0UL) goto b64; + goto b57; +b44: v10 = zany(vc); + if (v10 == 0UL) goto b42; + goto b35; +b14: zchoice(vc); + zchoice(vc); + v4 = zliteral(vc, (u)"\042]"); + if (v4 == 0UL) goto b22; zfail(vc); zfail(vc); +b20: zfail(vc); goto b10; -b18: v4 = zany(vc); - if (v4 == 0UL) goto b10; - goto b9; +b22: v5 = zany(vc); + if (v5 == 0UL) goto b20; + goto b13; } u zpeg_P_lexer_dot(u vc) { u v1 = 0; @@ -34653,37 +34695,82 @@ u zpeg_P_peg_class(u vc) { u v5 = 0; u v6 = 0; u v7 = 0; + u v8 = 0; + u v9 = 0; + u v10 = 0; + u v11 = 0; + u v12 = 0; + u v13 = 0; + u v14 = 0; + u v15 = 0; zenter(vc, 104UL); - v1 = zliteral(vc, (u)"[["); + v1 = zliteral(vc, (u)"[\042"); if (v1 == 0UL) goto b1; b5: zchoice(vc); zchoice(vc); - v2 = zliteral(vc, (u)"]"); - if (v2 == 0UL) goto b8; + zchoice(vc); + v2 = zliteral(vc, (u)"\134"); + if (v2 == 0UL) goto b14; + v3 = zany(vc); + if (v3 == 0UL) goto b14; +b13: zcommit(vc); + v6 = zliteral(vc, (u)"-"); + if (v6 == 0UL) goto b10; + zchoice(vc); + v7 = zliteral(vc, (u)"\134"); + if (v7 == 0UL) goto b36; + v8 = zany(vc); + if (v8 == 0UL) goto b36; +b35: zcommit(vc); +b9: zcommit(vc); + zcommit(vc); + goto b5; +b36: zchoice(vc); + zchoice(vc); + v9 = zliteral(vc, (u)"\042]"); + if (v9 == 0UL) goto b44; zfail(vc); zfail(vc); -b6: v7 = zliteral(vc, (u)"]]"); - if (v7 == 0UL) goto b1; +b42: zfail(vc); +b10: zchoice(vc); + zchoice(vc); + v11 = zliteral(vc, (u)"\134"); + if (v11 == 0UL) goto b58; + v12 = zany(vc); + if (v12 == 0UL) goto b58; +b57: zcommit(vc); + goto b9; +b58: zchoice(vc); + zchoice(vc); + v13 = zliteral(vc, (u)"\042]"); + if (v13 == 0UL) goto b66; + zfail(vc); + zfail(vc); +b64: zfail(vc); + zfail(vc); + v15 = zliteral(vc, (u)"\042]"); + if (v15 == 0UL) goto b1; zleave(vc, 104UL); return 1UL; b1: zfail(vc); return 0UL; -b8: zchoice(vc); - v3 = zany(vc); - if (v3 == 0UL) goto b16; - v4 = zliteral(vc, (u)"-"); - if (v4 == 0UL) goto b16; - v5 = zany(vc); - if (v5 == 0UL) goto b16; -b15: zcommit(vc); - zcommit(vc); - goto b5; -b16: zchoice(vc); - v6 = zany(vc); - if (v6 == 0UL) goto b24; - goto b15; -b24: zfail(vc); - goto b6; +b66: v14 = zany(vc); + if (v14 == 0UL) goto b64; + goto b57; +b44: v10 = zany(vc); + if (v10 == 0UL) goto b42; + goto b35; +b14: zchoice(vc); + zchoice(vc); + v4 = zliteral(vc, (u)"\042]"); + if (v4 == 0UL) goto b22; + zfail(vc); + zfail(vc); +b20: zfail(vc); + goto b10; +b22: v5 = zany(vc); + if (v5 == 0UL) goto b20; + goto b13; } u zpeg_P_peg_countop(u vc) { u v1 = 0; diff --git a/cc3.om b/cc3.om @@ -99,60 +99,60 @@ peg_grammar { sizeof_expr = sizeof sp "(" sp expr ")" sp; - hex = "0x" [[0-9a-fA-F_]]+; - dec = !"_" [[0-9_]]+; - str = "\"" ([[\\]] . / !"\"" .)* "\""; - char = "'" ([[\\]] . / !"'" .)+ "'"; + hex = "0x" ["0-9a-fA-F_"]+; + dec = !"_" ["0-9_"]+; + str = "\"" (["\\"] . / !"\"" .)* "\""; + char = "'" (["\\"] . / !"'" .)+ "'"; reserved = return / break / sizeof / if / else / loop / continue / goto / var / enum / struct / union / byte / int / void / func / as / nil / peg / lex / lalr; - return = "return" ![[a-zA-Z0-9_]]; - break = "break" ![[a-zA-Z0-9_]]; - sizeof = "sizeof" ![[a-zA-Z0-9_]]; - if = "if" ![[a-zA-Z0-9_]]; - else = "else" ![[a-zA-Z0-9_]]; - loop = "loop" ![[a-zA-Z0-9_]]; - continue = "continue" ![[a-zA-Z0-9_]]; - goto = "goto" ![[a-zA-Z0-9_]]; - var = "var" ![[a-zA-Z0-9_]]; - enum = "enum" ![[a-zA-Z0-9_]]; - struct = "struct" ![[a-zA-Z0-9_]]; - union = "union" ![[a-zA-Z0-9_]]; - byte = "byte" ![[a-zA-Z0-9_]]; - int = "int" ![[a-zA-Z0-9_]]; - void = "void" ![[a-zA-Z0-9_]]; - func = "func" ![[a-zA-Z0-9_]]; - as = "as" ![[a-zA-Z0-9_]]; - nil = "nil" ![[a-zA-Z0-9_]]; - peg = "peg_grammar" ![[a-zA-Z0-9_]]; - lex = "lexer" ![[a-zA-Z0-9_]]; - lalr = "lalr" ![[a-zA-Z0-9_]]; - - ident = !reserved [[a-zA-Z_]][[a-zA-Z0-9_]]*; - - sp = ( [[ \r\n\t]] / "//" (![[\r\n]] .)* )*; + return = "return" !["a-zA-Z0-9_"]; + break = "break" !["a-zA-Z0-9_"]; + sizeof = "sizeof" !["a-zA-Z0-9_"]; + if = "if" !["a-zA-Z0-9_"]; + else = "else" !["a-zA-Z0-9_"]; + loop = "loop" !["a-zA-Z0-9_"]; + continue = "continue" !["a-zA-Z0-9_"]; + goto = "goto" !["a-zA-Z0-9_"]; + var = "var" !["a-zA-Z0-9_"]; + enum = "enum" !["a-zA-Z0-9_"]; + struct = "struct" !["a-zA-Z0-9_"]; + union = "union" !["a-zA-Z0-9_"]; + byte = "byte" !["a-zA-Z0-9_"]; + int = "int" !["a-zA-Z0-9_"]; + void = "void" !["a-zA-Z0-9_"]; + func = "func" !["a-zA-Z0-9_"]; + as = "as" !["a-zA-Z0-9_"]; + nil = "nil" !["a-zA-Z0-9_"]; + peg = "peg_grammar" !["a-zA-Z0-9_"]; + lex = "lexer" !["a-zA-Z0-9_"]; + lalr = "lalr" !["a-zA-Z0-9_"]; + + ident = !reserved ["a-zA-Z_"]["a-zA-Z0-9_"]*; + + sp = ( [" \r\n\t"] / "//" (!["\r\n"] .)* )*; peg_grammar = "peg_grammar" sp "{" sp peg_rule+ "}" sp; peg_rule = peg_identifier sp "=" sp peg_pattern ";" sp; peg_pattern = peg_alternative ( "/" !"/" sp peg_alternative )*; peg_alternative = peg_lookahead+; - peg_lookop = [[!&]]; + peg_lookop = ["!&"]; peg_lookahead = (peg_lookop sp)? peg_suffix; - peg_countop = [[*+?]]; + peg_countop = ["*+?"]; peg_suffix = peg_primary (peg_countop sp)*; peg_primary = ( "(" sp peg_pattern ")" / peg_any / peg_literal / peg_class / peg_call ) sp; peg_any = "."; - peg_literal = "\"" ([[\\]] . / !"\"" .)* "\""; - peg_class = "[[" ( !"]" ( . "-" . / . ) )* "]]"; + peg_literal = "\"" (["\\"] . / !"\"" .)* "\""; + peg_class = "[\"" ( ( ("\\" . / !"\"]" .) "-" ("\\" . / !"\"]" .) / ("\\" . / !"\"]" .) ) )* "\"]"; peg_call = peg_identifier !(sp "="); - peg_identifier = [[a-zA-Z0-9_]]+; + peg_identifier = ["a-zA-Z0-9_"]+; lexer_dot = "."; lexer_op = "*" / "+" / "?"; lexer_str = str; - lexer_charset = "[[" ( !"]" !"\\" . / "\\" . )* "]]"; + lexer_charset = "[\"" ( ( ("\\" . / !"\"]" .) "-" ("\\" . / !"\"]" .) / ("\\" . / !"\"]" .) ) )* "\"]"; lexer_primary = "(" sp lexer_pattern ")" sp / lexer_dot sp / lexer_str sp / lexer_charset sp; lexer_suffix = lexer_primary (lexer_op sp)*; lexer_alternative = lexer_suffix*; diff --git a/cc4.om b/cc4.om @@ -59,15 +59,15 @@ lexer { LEX = "lexer"; LALR = "lalr"; - IDENT = [[a-zA-Z_]][[a-zA-Z0-9_]]*; - HEXIDECIMAL = "0x" [[0-9a-fA-F]] ([[0-9a-fA-F_]]* [[0-9a-fA-F]])?; - DECIMAL = [[0-9]] ([[0-9_]]* [[0-9]])?; - STRING = "\"" ("\\" . | [[^\\\x22]])* "\""; - CHAR = "'" ("\\" . | [[^\\\x27]])* "'"; - CHARSET = "[[" ([[^\]\\]]|"\\".)* "]]"; - - SPACE = [[ \r\n\t]]; - COMMENT = "//" [[^\n]]* "\n"; + IDENT = ["a-zA-Z_"]["a-zA-Z0-9_"]*; + HEXIDECIMAL = "0x" ["0-9a-fA-F"] (["0-9a-fA-F_"]* ["0-9a-fA-F"])?; + DECIMAL = ["0-9"] (["0-9_"]* ["0-9"])?; + STRING = "\"" ("\\" . | ["^\\\x22"])* "\""; + CHAR = "'" ("\\" . | ["^\\\x27"])* "'"; + CHARSET = "[\"" (["^\"\\"]|"\\".)* "\"]"; + + SPACE = [" \r\n\t"]; + COMMENT = "//" ["^\n"]* "\n"; } lalr {