mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-06 16:52:25 +00:00
Rationalise -O2 vs -OC library build.
This commit is contained in:
parent
b231efb466
commit
80de6dc216
206 changed files with 1129 additions and 1456 deletions
|
|
@ -1,4 +1,4 @@
|
|||
/* voc 1.95 [2016/10/12]. Bootstrapping compiler for address size 8, alignment 8. xtspaSfF */
|
||||
/* voc 1.95 [2016/10/15]. Bootstrapping compiler for address size 8, alignment 8. xtspaSfF */
|
||||
|
||||
#define SHORTINT int8
|
||||
#define INTEGER int16
|
||||
|
|
@ -10,40 +10,40 @@
|
|||
#include "Strings.h"
|
||||
|
||||
|
||||
export CHAR vt100_CSI[5];
|
||||
static CHAR vt100_tmpstr[32];
|
||||
export CHAR VT100_CSI[5];
|
||||
static CHAR VT100_tmpstr[32];
|
||||
|
||||
|
||||
export void vt100_CHA (int16 n);
|
||||
export void vt100_CNL (int16 n);
|
||||
export void vt100_CPL (int16 n);
|
||||
export void vt100_CUB (int16 n);
|
||||
export void vt100_CUD (int16 n);
|
||||
export void vt100_CUF (int16 n);
|
||||
export void vt100_CUP (int16 n, int16 m);
|
||||
export void vt100_CUU (int16 n);
|
||||
export void vt100_DECTCEMh (void);
|
||||
export void vt100_DECTCEMl (void);
|
||||
export void vt100_DSR (int16 n);
|
||||
export void vt100_ED (int16 n);
|
||||
export void vt100_EL (int16 n);
|
||||
static void vt100_EscSeq (int16 n, CHAR *letter, LONGINT letter__len);
|
||||
static void vt100_EscSeq0 (CHAR *letter, LONGINT letter__len);
|
||||
static void vt100_EscSeq2 (int16 n, int16 m, CHAR *letter, LONGINT letter__len);
|
||||
static void vt100_EscSeqSwapped (int16 n, CHAR *letter, LONGINT letter__len);
|
||||
export void vt100_HVP (int16 n, int16 m);
|
||||
export void vt100_IntToStr (int32 int_, CHAR *str, LONGINT str__len);
|
||||
export void vt100_RCP (void);
|
||||
static void vt100_Reverse0 (CHAR *str, LONGINT str__len, int16 start, int16 end);
|
||||
export void vt100_SCP (void);
|
||||
export void vt100_SD (int16 n);
|
||||
export void vt100_SGR (int16 n);
|
||||
export void vt100_SGR2 (int16 n, int16 m);
|
||||
export void vt100_SU (int16 n);
|
||||
export void vt100_SetAttr (CHAR *attr, LONGINT attr__len);
|
||||
export void VT100_CHA (int16 n);
|
||||
export void VT100_CNL (int16 n);
|
||||
export void VT100_CPL (int16 n);
|
||||
export void VT100_CUB (int16 n);
|
||||
export void VT100_CUD (int16 n);
|
||||
export void VT100_CUF (int16 n);
|
||||
export void VT100_CUP (int16 n, int16 m);
|
||||
export void VT100_CUU (int16 n);
|
||||
export void VT100_DECTCEMh (void);
|
||||
export void VT100_DECTCEMl (void);
|
||||
export void VT100_DSR (int16 n);
|
||||
export void VT100_ED (int16 n);
|
||||
export void VT100_EL (int16 n);
|
||||
static void VT100_EscSeq (int16 n, CHAR *letter, LONGINT letter__len);
|
||||
static void VT100_EscSeq0 (CHAR *letter, LONGINT letter__len);
|
||||
static void VT100_EscSeq2 (int16 n, int16 m, CHAR *letter, LONGINT letter__len);
|
||||
static void VT100_EscSeqSwapped (int16 n, CHAR *letter, LONGINT letter__len);
|
||||
export void VT100_HVP (int16 n, int16 m);
|
||||
export void VT100_IntToStr (int32 int_, CHAR *str, LONGINT str__len);
|
||||
export void VT100_RCP (void);
|
||||
static void VT100_Reverse0 (CHAR *str, LONGINT str__len, int16 start, int16 end);
|
||||
export void VT100_SCP (void);
|
||||
export void VT100_SD (int16 n);
|
||||
export void VT100_SGR (int16 n);
|
||||
export void VT100_SGR2 (int16 n, int16 m);
|
||||
export void VT100_SU (int16 n);
|
||||
export void VT100_SetAttr (CHAR *attr, LONGINT attr__len);
|
||||
|
||||
|
||||
static void vt100_Reverse0 (CHAR *str, LONGINT str__len, int16 start, int16 end)
|
||||
static void VT100_Reverse0 (CHAR *str, LONGINT str__len, int16 start, int16 end)
|
||||
{
|
||||
CHAR h;
|
||||
while (start < end) {
|
||||
|
|
@ -55,7 +55,7 @@ static void vt100_Reverse0 (CHAR *str, LONGINT str__len, int16 start, int16 end)
|
|||
}
|
||||
}
|
||||
|
||||
void vt100_IntToStr (int32 int_, CHAR *str, LONGINT str__len)
|
||||
void VT100_IntToStr (int32 int_, CHAR *str, LONGINT str__len)
|
||||
{
|
||||
CHAR b[21];
|
||||
int16 s, e;
|
||||
|
|
@ -79,55 +79,55 @@ void vt100_IntToStr (int32 int_, CHAR *str, LONGINT str__len)
|
|||
e += 1;
|
||||
} while (!(int_ == 0));
|
||||
b[__X(e, 21)] = 0x00;
|
||||
vt100_Reverse0((void*)b, 21, s, e - 1);
|
||||
VT100_Reverse0((void*)b, 21, s, e - 1);
|
||||
}
|
||||
__COPY(b, str, str__len);
|
||||
}
|
||||
|
||||
static void vt100_EscSeq0 (CHAR *letter, LONGINT letter__len)
|
||||
static void VT100_EscSeq0 (CHAR *letter, LONGINT letter__len)
|
||||
{
|
||||
CHAR cmd[9];
|
||||
__DUP(letter, letter__len, CHAR);
|
||||
__COPY(vt100_CSI, cmd, 9);
|
||||
__COPY(VT100_CSI, cmd, 9);
|
||||
Strings_Append(letter, letter__len, (void*)cmd, 9);
|
||||
Out_String(cmd, 9);
|
||||
__DEL(letter);
|
||||
}
|
||||
|
||||
static void vt100_EscSeq (int16 n, CHAR *letter, LONGINT letter__len)
|
||||
static void VT100_EscSeq (int16 n, CHAR *letter, LONGINT letter__len)
|
||||
{
|
||||
CHAR nstr[2];
|
||||
CHAR cmd[7];
|
||||
__DUP(letter, letter__len, CHAR);
|
||||
vt100_IntToStr(n, (void*)nstr, 2);
|
||||
__COPY(vt100_CSI, cmd, 7);
|
||||
VT100_IntToStr(n, (void*)nstr, 2);
|
||||
__COPY(VT100_CSI, cmd, 7);
|
||||
Strings_Append(nstr, 2, (void*)cmd, 7);
|
||||
Strings_Append(letter, letter__len, (void*)cmd, 7);
|
||||
Out_String(cmd, 7);
|
||||
__DEL(letter);
|
||||
}
|
||||
|
||||
static void vt100_EscSeqSwapped (int16 n, CHAR *letter, LONGINT letter__len)
|
||||
static void VT100_EscSeqSwapped (int16 n, CHAR *letter, LONGINT letter__len)
|
||||
{
|
||||
CHAR nstr[2];
|
||||
CHAR cmd[7];
|
||||
__DUP(letter, letter__len, CHAR);
|
||||
vt100_IntToStr(n, (void*)nstr, 2);
|
||||
__COPY(vt100_CSI, cmd, 7);
|
||||
VT100_IntToStr(n, (void*)nstr, 2);
|
||||
__COPY(VT100_CSI, cmd, 7);
|
||||
Strings_Append(letter, letter__len, (void*)cmd, 7);
|
||||
Strings_Append(nstr, 2, (void*)cmd, 7);
|
||||
Out_String(cmd, 7);
|
||||
__DEL(letter);
|
||||
}
|
||||
|
||||
static void vt100_EscSeq2 (int16 n, int16 m, CHAR *letter, LONGINT letter__len)
|
||||
static void VT100_EscSeq2 (int16 n, int16 m, CHAR *letter, LONGINT letter__len)
|
||||
{
|
||||
CHAR nstr[5], mstr[5];
|
||||
CHAR cmd[12];
|
||||
__DUP(letter, letter__len, CHAR);
|
||||
vt100_IntToStr(n, (void*)nstr, 5);
|
||||
vt100_IntToStr(m, (void*)mstr, 5);
|
||||
__COPY(vt100_CSI, cmd, 12);
|
||||
VT100_IntToStr(n, (void*)nstr, 5);
|
||||
VT100_IntToStr(m, (void*)mstr, 5);
|
||||
__COPY(VT100_CSI, cmd, 12);
|
||||
Strings_Append(nstr, 5, (void*)cmd, 12);
|
||||
Strings_Append((CHAR*)";", 2, (void*)cmd, 12);
|
||||
Strings_Append(mstr, 5, (void*)cmd, 12);
|
||||
|
|
@ -136,129 +136,129 @@ static void vt100_EscSeq2 (int16 n, int16 m, CHAR *letter, LONGINT letter__len)
|
|||
__DEL(letter);
|
||||
}
|
||||
|
||||
void vt100_CUU (int16 n)
|
||||
void VT100_CUU (int16 n)
|
||||
{
|
||||
vt100_EscSeq(n, (CHAR*)"A", 2);
|
||||
VT100_EscSeq(n, (CHAR*)"A", 2);
|
||||
}
|
||||
|
||||
void vt100_CUD (int16 n)
|
||||
void VT100_CUD (int16 n)
|
||||
{
|
||||
vt100_EscSeq(n, (CHAR*)"B", 2);
|
||||
VT100_EscSeq(n, (CHAR*)"B", 2);
|
||||
}
|
||||
|
||||
void vt100_CUF (int16 n)
|
||||
void VT100_CUF (int16 n)
|
||||
{
|
||||
vt100_EscSeq(n, (CHAR*)"C", 2);
|
||||
VT100_EscSeq(n, (CHAR*)"C", 2);
|
||||
}
|
||||
|
||||
void vt100_CUB (int16 n)
|
||||
void VT100_CUB (int16 n)
|
||||
{
|
||||
vt100_EscSeq(n, (CHAR*)"D", 2);
|
||||
VT100_EscSeq(n, (CHAR*)"D", 2);
|
||||
}
|
||||
|
||||
void vt100_CNL (int16 n)
|
||||
void VT100_CNL (int16 n)
|
||||
{
|
||||
vt100_EscSeq(n, (CHAR*)"E", 2);
|
||||
VT100_EscSeq(n, (CHAR*)"E", 2);
|
||||
}
|
||||
|
||||
void vt100_CPL (int16 n)
|
||||
void VT100_CPL (int16 n)
|
||||
{
|
||||
vt100_EscSeq(n, (CHAR*)"F", 2);
|
||||
VT100_EscSeq(n, (CHAR*)"F", 2);
|
||||
}
|
||||
|
||||
void vt100_CHA (int16 n)
|
||||
void VT100_CHA (int16 n)
|
||||
{
|
||||
vt100_EscSeq(n, (CHAR*)"G", 2);
|
||||
VT100_EscSeq(n, (CHAR*)"G", 2);
|
||||
}
|
||||
|
||||
void vt100_CUP (int16 n, int16 m)
|
||||
void VT100_CUP (int16 n, int16 m)
|
||||
{
|
||||
vt100_EscSeq2(n, m, (CHAR*)"H", 2);
|
||||
VT100_EscSeq2(n, m, (CHAR*)"H", 2);
|
||||
}
|
||||
|
||||
void vt100_ED (int16 n)
|
||||
void VT100_ED (int16 n)
|
||||
{
|
||||
vt100_EscSeq(n, (CHAR*)"J", 2);
|
||||
VT100_EscSeq(n, (CHAR*)"J", 2);
|
||||
}
|
||||
|
||||
void vt100_EL (int16 n)
|
||||
void VT100_EL (int16 n)
|
||||
{
|
||||
vt100_EscSeq(n, (CHAR*)"K", 2);
|
||||
VT100_EscSeq(n, (CHAR*)"K", 2);
|
||||
}
|
||||
|
||||
void vt100_SU (int16 n)
|
||||
void VT100_SU (int16 n)
|
||||
{
|
||||
vt100_EscSeq(n, (CHAR*)"S", 2);
|
||||
VT100_EscSeq(n, (CHAR*)"S", 2);
|
||||
}
|
||||
|
||||
void vt100_SD (int16 n)
|
||||
void VT100_SD (int16 n)
|
||||
{
|
||||
vt100_EscSeq(n, (CHAR*)"T", 2);
|
||||
VT100_EscSeq(n, (CHAR*)"T", 2);
|
||||
}
|
||||
|
||||
void vt100_HVP (int16 n, int16 m)
|
||||
void VT100_HVP (int16 n, int16 m)
|
||||
{
|
||||
vt100_EscSeq2(n, m, (CHAR*)"f", 2);
|
||||
VT100_EscSeq2(n, m, (CHAR*)"f", 2);
|
||||
}
|
||||
|
||||
void vt100_SGR (int16 n)
|
||||
void VT100_SGR (int16 n)
|
||||
{
|
||||
vt100_EscSeq(n, (CHAR*)"m", 2);
|
||||
VT100_EscSeq(n, (CHAR*)"m", 2);
|
||||
}
|
||||
|
||||
void vt100_SGR2 (int16 n, int16 m)
|
||||
void VT100_SGR2 (int16 n, int16 m)
|
||||
{
|
||||
vt100_EscSeq2(n, m, (CHAR*)"m", 2);
|
||||
VT100_EscSeq2(n, m, (CHAR*)"m", 2);
|
||||
}
|
||||
|
||||
void vt100_DSR (int16 n)
|
||||
void VT100_DSR (int16 n)
|
||||
{
|
||||
vt100_EscSeq(6, (CHAR*)"n", 2);
|
||||
VT100_EscSeq(6, (CHAR*)"n", 2);
|
||||
}
|
||||
|
||||
void vt100_SCP (void)
|
||||
void VT100_SCP (void)
|
||||
{
|
||||
vt100_EscSeq0((CHAR*)"s", 2);
|
||||
VT100_EscSeq0((CHAR*)"s", 2);
|
||||
}
|
||||
|
||||
void vt100_RCP (void)
|
||||
void VT100_RCP (void)
|
||||
{
|
||||
vt100_EscSeq0((CHAR*)"u", 2);
|
||||
VT100_EscSeq0((CHAR*)"u", 2);
|
||||
}
|
||||
|
||||
void vt100_DECTCEMl (void)
|
||||
void VT100_DECTCEMl (void)
|
||||
{
|
||||
vt100_EscSeq0((CHAR*)"\?25l", 5);
|
||||
VT100_EscSeq0((CHAR*)"\?25l", 5);
|
||||
}
|
||||
|
||||
void vt100_DECTCEMh (void)
|
||||
void VT100_DECTCEMh (void)
|
||||
{
|
||||
vt100_EscSeq0((CHAR*)"\?25h", 5);
|
||||
VT100_EscSeq0((CHAR*)"\?25h", 5);
|
||||
}
|
||||
|
||||
void vt100_SetAttr (CHAR *attr, LONGINT attr__len)
|
||||
void VT100_SetAttr (CHAR *attr, LONGINT attr__len)
|
||||
{
|
||||
CHAR tmpstr[16];
|
||||
__DUP(attr, attr__len, CHAR);
|
||||
__COPY(vt100_CSI, tmpstr, 16);
|
||||
__COPY(VT100_CSI, tmpstr, 16);
|
||||
Strings_Append(attr, attr__len, (void*)tmpstr, 16);
|
||||
Out_String(tmpstr, 16);
|
||||
__DEL(attr);
|
||||
}
|
||||
|
||||
|
||||
export void *vt100__init(void)
|
||||
export void *VT100__init(void)
|
||||
{
|
||||
__DEFMOD;
|
||||
__MODULE_IMPORT(Out);
|
||||
__MODULE_IMPORT(Strings);
|
||||
__REGMOD("vt100", 0);
|
||||
__REGCMD("DECTCEMh", vt100_DECTCEMh);
|
||||
__REGCMD("DECTCEMl", vt100_DECTCEMl);
|
||||
__REGCMD("RCP", vt100_RCP);
|
||||
__REGCMD("SCP", vt100_SCP);
|
||||
__REGMOD("VT100", 0);
|
||||
__REGCMD("DECTCEMh", VT100_DECTCEMh);
|
||||
__REGCMD("DECTCEMl", VT100_DECTCEMl);
|
||||
__REGCMD("RCP", VT100_RCP);
|
||||
__REGCMD("SCP", VT100_SCP);
|
||||
/* BEGIN */
|
||||
__COPY("\033", vt100_CSI, 5);
|
||||
Strings_Append((CHAR*)"[", 2, (void*)vt100_CSI, 5);
|
||||
__COPY("\033", VT100_CSI, 5);
|
||||
Strings_Append((CHAR*)"[", 2, (void*)VT100_CSI, 5);
|
||||
__ENDMOD;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue