mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-06 02:52:24 +00:00
Stepping toward generalised ReadNum.
This commit is contained in:
parent
6dedf34785
commit
3dc5049d5a
24 changed files with 156 additions and 32 deletions
|
|
@ -89,6 +89,7 @@ export void Files_ReadLInt (Files_Rider *R, address *R__typ, int32 *x);
|
||||||
export void Files_ReadLReal (Files_Rider *R, address *R__typ, LONGREAL *x);
|
export void Files_ReadLReal (Files_Rider *R, address *R__typ, LONGREAL *x);
|
||||||
export void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
export void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
||||||
export void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x);
|
export void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x);
|
||||||
|
export void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len);
|
||||||
export void Files_ReadReal (Files_Rider *R, address *R__typ, REAL *x);
|
export void Files_ReadReal (Files_Rider *R, address *R__typ, REAL *x);
|
||||||
export void Files_ReadSet (Files_Rider *R, address *R__typ, uint32 *x);
|
export void Files_ReadSet (Files_Rider *R, address *R__typ, uint32 *x);
|
||||||
export void Files_ReadString (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
export void Files_ReadString (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
||||||
|
|
@ -914,6 +915,23 @@ void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len)
|
||||||
} while (!b);
|
} while (!b);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len)
|
||||||
|
{
|
||||||
|
int8 s, b;
|
||||||
|
int64 q;
|
||||||
|
s = 0;
|
||||||
|
q = 0;
|
||||||
|
Files_Read(&*R, R__typ, (void*)&b);
|
||||||
|
while ((int16)b >= 128) {
|
||||||
|
q += (int64)__ASH(((int16)b - 128), s);
|
||||||
|
s += 7;
|
||||||
|
Files_Read(&*R, R__typ, (void*)&b);
|
||||||
|
}
|
||||||
|
q += (int64)__ASH((__MASK(b, -64) - __ASHL(__ASHR(b, 6), 6)), s);
|
||||||
|
__ASSERT(x__len <= 8, 0);
|
||||||
|
__MOVE((address)&q, (address)x, x__len);
|
||||||
|
}
|
||||||
|
|
||||||
void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x)
|
void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x)
|
||||||
{
|
{
|
||||||
int8 s;
|
int8 s;
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,7 @@ import void Files_ReadLInt (Files_Rider *R, address *R__typ, int32 *x);
|
||||||
import void Files_ReadLReal (Files_Rider *R, address *R__typ, LONGREAL *x);
|
import void Files_ReadLReal (Files_Rider *R, address *R__typ, LONGREAL *x);
|
||||||
import void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
import void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
||||||
import void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x);
|
import void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x);
|
||||||
|
import void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len);
|
||||||
import void Files_ReadReal (Files_Rider *R, address *R__typ, REAL *x);
|
import void Files_ReadReal (Files_Rider *R, address *R__typ, REAL *x);
|
||||||
import void Files_ReadSet (Files_Rider *R, address *R__typ, uint32 *x);
|
import void Files_ReadSet (Files_Rider *R, address *R__typ, uint32 *x);
|
||||||
import void Files_ReadString (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
import void Files_ReadString (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
||||||
|
|
|
||||||
|
|
@ -82,6 +82,7 @@ export int64 OPM_SymRInt64 (void);
|
||||||
export void OPM_SymRLReal (LONGREAL *lr);
|
export void OPM_SymRLReal (LONGREAL *lr);
|
||||||
export void OPM_SymRReal (REAL *r);
|
export void OPM_SymRReal (REAL *r);
|
||||||
export void OPM_SymRSet (uint32 *s);
|
export void OPM_SymRSet (uint32 *s);
|
||||||
|
export void OPM_SymRSet64 (uint64 *s);
|
||||||
export void OPM_SymWCh (CHAR ch);
|
export void OPM_SymWCh (CHAR ch);
|
||||||
export void OPM_SymWInt (int64 i);
|
export void OPM_SymWInt (int64 i);
|
||||||
export void OPM_SymWLReal (LONGREAL lr);
|
export void OPM_SymWLReal (LONGREAL lr);
|
||||||
|
|
@ -752,10 +753,17 @@ int32 OPM_SymRInt (void)
|
||||||
int64 OPM_SymRInt64 (void)
|
int64 OPM_SymRInt64 (void)
|
||||||
{
|
{
|
||||||
int64 _o_result;
|
int64 _o_result;
|
||||||
_o_result = OPM_SymRInt();
|
int64 k;
|
||||||
|
Files_ReadNum64(&OPM_oldSF, Files_Rider__typ, (void*)&k, 8);
|
||||||
|
_o_result = k;
|
||||||
return _o_result;
|
return _o_result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void OPM_SymRSet64 (uint64 *s)
|
||||||
|
{
|
||||||
|
Files_ReadNum64(&OPM_oldSF, Files_Rider__typ, (void*)&*s, 8);
|
||||||
|
}
|
||||||
|
|
||||||
void OPM_SymRSet (uint32 *s)
|
void OPM_SymRSet (uint32 *s)
|
||||||
{
|
{
|
||||||
Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (int32*)&*s);
|
Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (int32*)&*s);
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,7 @@ import int64 OPM_SymRInt64 (void);
|
||||||
import void OPM_SymRLReal (LONGREAL *lr);
|
import void OPM_SymRLReal (LONGREAL *lr);
|
||||||
import void OPM_SymRReal (REAL *r);
|
import void OPM_SymRReal (REAL *r);
|
||||||
import void OPM_SymRSet (uint32 *s);
|
import void OPM_SymRSet (uint32 *s);
|
||||||
|
import void OPM_SymRSet64 (uint64 *s);
|
||||||
import void OPM_SymWCh (CHAR ch);
|
import void OPM_SymWCh (CHAR ch);
|
||||||
import void OPM_SymWInt (int64 i);
|
import void OPM_SymWInt (int64 i);
|
||||||
import void OPM_SymWLReal (LONGREAL lr);
|
import void OPM_SymWLReal (LONGREAL lr);
|
||||||
|
|
|
||||||
|
|
@ -89,6 +89,7 @@ export void Files_ReadLInt (Files_Rider *R, address *R__typ, int32 *x);
|
||||||
export void Files_ReadLReal (Files_Rider *R, address *R__typ, LONGREAL *x);
|
export void Files_ReadLReal (Files_Rider *R, address *R__typ, LONGREAL *x);
|
||||||
export void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
export void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
||||||
export void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x);
|
export void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x);
|
||||||
|
export void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len);
|
||||||
export void Files_ReadReal (Files_Rider *R, address *R__typ, REAL *x);
|
export void Files_ReadReal (Files_Rider *R, address *R__typ, REAL *x);
|
||||||
export void Files_ReadSet (Files_Rider *R, address *R__typ, uint32 *x);
|
export void Files_ReadSet (Files_Rider *R, address *R__typ, uint32 *x);
|
||||||
export void Files_ReadString (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
export void Files_ReadString (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
||||||
|
|
@ -914,6 +915,23 @@ void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len)
|
||||||
} while (!b);
|
} while (!b);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len)
|
||||||
|
{
|
||||||
|
int8 s, b;
|
||||||
|
int64 q;
|
||||||
|
s = 0;
|
||||||
|
q = 0;
|
||||||
|
Files_Read(&*R, R__typ, (void*)&b);
|
||||||
|
while ((int16)b >= 128) {
|
||||||
|
q += (int64)__ASH(((int16)b - 128), s);
|
||||||
|
s += 7;
|
||||||
|
Files_Read(&*R, R__typ, (void*)&b);
|
||||||
|
}
|
||||||
|
q += (int64)__ASH((__MASK(b, -64) - __ASHL(__ASHR(b, 6), 6)), s);
|
||||||
|
__ASSERT(x__len <= 8, 0);
|
||||||
|
__MOVE((address)&q, (address)x, x__len);
|
||||||
|
}
|
||||||
|
|
||||||
void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x)
|
void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x)
|
||||||
{
|
{
|
||||||
int8 s;
|
int8 s;
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,7 @@ import void Files_ReadLInt (Files_Rider *R, address *R__typ, int32 *x);
|
||||||
import void Files_ReadLReal (Files_Rider *R, address *R__typ, LONGREAL *x);
|
import void Files_ReadLReal (Files_Rider *R, address *R__typ, LONGREAL *x);
|
||||||
import void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
import void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
||||||
import void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x);
|
import void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x);
|
||||||
|
import void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len);
|
||||||
import void Files_ReadReal (Files_Rider *R, address *R__typ, REAL *x);
|
import void Files_ReadReal (Files_Rider *R, address *R__typ, REAL *x);
|
||||||
import void Files_ReadSet (Files_Rider *R, address *R__typ, uint32 *x);
|
import void Files_ReadSet (Files_Rider *R, address *R__typ, uint32 *x);
|
||||||
import void Files_ReadString (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
import void Files_ReadString (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
||||||
|
|
|
||||||
|
|
@ -82,6 +82,7 @@ export int64 OPM_SymRInt64 (void);
|
||||||
export void OPM_SymRLReal (LONGREAL *lr);
|
export void OPM_SymRLReal (LONGREAL *lr);
|
||||||
export void OPM_SymRReal (REAL *r);
|
export void OPM_SymRReal (REAL *r);
|
||||||
export void OPM_SymRSet (uint32 *s);
|
export void OPM_SymRSet (uint32 *s);
|
||||||
|
export void OPM_SymRSet64 (uint64 *s);
|
||||||
export void OPM_SymWCh (CHAR ch);
|
export void OPM_SymWCh (CHAR ch);
|
||||||
export void OPM_SymWInt (int64 i);
|
export void OPM_SymWInt (int64 i);
|
||||||
export void OPM_SymWLReal (LONGREAL lr);
|
export void OPM_SymWLReal (LONGREAL lr);
|
||||||
|
|
@ -752,10 +753,17 @@ int32 OPM_SymRInt (void)
|
||||||
int64 OPM_SymRInt64 (void)
|
int64 OPM_SymRInt64 (void)
|
||||||
{
|
{
|
||||||
int64 _o_result;
|
int64 _o_result;
|
||||||
_o_result = OPM_SymRInt();
|
int64 k;
|
||||||
|
Files_ReadNum64(&OPM_oldSF, Files_Rider__typ, (void*)&k, 8);
|
||||||
|
_o_result = k;
|
||||||
return _o_result;
|
return _o_result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void OPM_SymRSet64 (uint64 *s)
|
||||||
|
{
|
||||||
|
Files_ReadNum64(&OPM_oldSF, Files_Rider__typ, (void*)&*s, 8);
|
||||||
|
}
|
||||||
|
|
||||||
void OPM_SymRSet (uint32 *s)
|
void OPM_SymRSet (uint32 *s)
|
||||||
{
|
{
|
||||||
Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (int32*)&*s);
|
Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (int32*)&*s);
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,7 @@ import int64 OPM_SymRInt64 (void);
|
||||||
import void OPM_SymRLReal (LONGREAL *lr);
|
import void OPM_SymRLReal (LONGREAL *lr);
|
||||||
import void OPM_SymRReal (REAL *r);
|
import void OPM_SymRReal (REAL *r);
|
||||||
import void OPM_SymRSet (uint32 *s);
|
import void OPM_SymRSet (uint32 *s);
|
||||||
|
import void OPM_SymRSet64 (uint64 *s);
|
||||||
import void OPM_SymWCh (CHAR ch);
|
import void OPM_SymWCh (CHAR ch);
|
||||||
import void OPM_SymWInt (int64 i);
|
import void OPM_SymWInt (int64 i);
|
||||||
import void OPM_SymWLReal (LONGREAL lr);
|
import void OPM_SymWLReal (LONGREAL lr);
|
||||||
|
|
|
||||||
|
|
@ -89,6 +89,7 @@ export void Files_ReadLInt (Files_Rider *R, address *R__typ, int32 *x);
|
||||||
export void Files_ReadLReal (Files_Rider *R, address *R__typ, LONGREAL *x);
|
export void Files_ReadLReal (Files_Rider *R, address *R__typ, LONGREAL *x);
|
||||||
export void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
export void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
||||||
export void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x);
|
export void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x);
|
||||||
|
export void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len);
|
||||||
export void Files_ReadReal (Files_Rider *R, address *R__typ, REAL *x);
|
export void Files_ReadReal (Files_Rider *R, address *R__typ, REAL *x);
|
||||||
export void Files_ReadSet (Files_Rider *R, address *R__typ, uint32 *x);
|
export void Files_ReadSet (Files_Rider *R, address *R__typ, uint32 *x);
|
||||||
export void Files_ReadString (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
export void Files_ReadString (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
||||||
|
|
@ -914,6 +915,23 @@ void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len)
|
||||||
} while (!b);
|
} while (!b);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len)
|
||||||
|
{
|
||||||
|
int8 s, b;
|
||||||
|
int64 q;
|
||||||
|
s = 0;
|
||||||
|
q = 0;
|
||||||
|
Files_Read(&*R, R__typ, (void*)&b);
|
||||||
|
while ((int16)b >= 128) {
|
||||||
|
q += (int64)__ASH(((int16)b - 128), s);
|
||||||
|
s += 7;
|
||||||
|
Files_Read(&*R, R__typ, (void*)&b);
|
||||||
|
}
|
||||||
|
q += (int64)__ASH((__MASK(b, -64) - __ASHL(__ASHR(b, 6), 6)), s);
|
||||||
|
__ASSERT(x__len <= 8, 0);
|
||||||
|
__MOVE((address)&q, (address)x, x__len);
|
||||||
|
}
|
||||||
|
|
||||||
void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x)
|
void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x)
|
||||||
{
|
{
|
||||||
int8 s;
|
int8 s;
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,7 @@ import void Files_ReadLInt (Files_Rider *R, address *R__typ, int32 *x);
|
||||||
import void Files_ReadLReal (Files_Rider *R, address *R__typ, LONGREAL *x);
|
import void Files_ReadLReal (Files_Rider *R, address *R__typ, LONGREAL *x);
|
||||||
import void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
import void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
||||||
import void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x);
|
import void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x);
|
||||||
|
import void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len);
|
||||||
import void Files_ReadReal (Files_Rider *R, address *R__typ, REAL *x);
|
import void Files_ReadReal (Files_Rider *R, address *R__typ, REAL *x);
|
||||||
import void Files_ReadSet (Files_Rider *R, address *R__typ, uint32 *x);
|
import void Files_ReadSet (Files_Rider *R, address *R__typ, uint32 *x);
|
||||||
import void Files_ReadString (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
import void Files_ReadString (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
||||||
|
|
|
||||||
|
|
@ -82,6 +82,7 @@ export int64 OPM_SymRInt64 (void);
|
||||||
export void OPM_SymRLReal (LONGREAL *lr);
|
export void OPM_SymRLReal (LONGREAL *lr);
|
||||||
export void OPM_SymRReal (REAL *r);
|
export void OPM_SymRReal (REAL *r);
|
||||||
export void OPM_SymRSet (uint32 *s);
|
export void OPM_SymRSet (uint32 *s);
|
||||||
|
export void OPM_SymRSet64 (uint64 *s);
|
||||||
export void OPM_SymWCh (CHAR ch);
|
export void OPM_SymWCh (CHAR ch);
|
||||||
export void OPM_SymWInt (int64 i);
|
export void OPM_SymWInt (int64 i);
|
||||||
export void OPM_SymWLReal (LONGREAL lr);
|
export void OPM_SymWLReal (LONGREAL lr);
|
||||||
|
|
@ -752,10 +753,17 @@ int32 OPM_SymRInt (void)
|
||||||
int64 OPM_SymRInt64 (void)
|
int64 OPM_SymRInt64 (void)
|
||||||
{
|
{
|
||||||
int64 _o_result;
|
int64 _o_result;
|
||||||
_o_result = OPM_SymRInt();
|
int64 k;
|
||||||
|
Files_ReadNum64(&OPM_oldSF, Files_Rider__typ, (void*)&k, 8);
|
||||||
|
_o_result = k;
|
||||||
return _o_result;
|
return _o_result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void OPM_SymRSet64 (uint64 *s)
|
||||||
|
{
|
||||||
|
Files_ReadNum64(&OPM_oldSF, Files_Rider__typ, (void*)&*s, 8);
|
||||||
|
}
|
||||||
|
|
||||||
void OPM_SymRSet (uint32 *s)
|
void OPM_SymRSet (uint32 *s)
|
||||||
{
|
{
|
||||||
Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (int32*)&*s);
|
Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (int32*)&*s);
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,7 @@ import int64 OPM_SymRInt64 (void);
|
||||||
import void OPM_SymRLReal (LONGREAL *lr);
|
import void OPM_SymRLReal (LONGREAL *lr);
|
||||||
import void OPM_SymRReal (REAL *r);
|
import void OPM_SymRReal (REAL *r);
|
||||||
import void OPM_SymRSet (uint32 *s);
|
import void OPM_SymRSet (uint32 *s);
|
||||||
|
import void OPM_SymRSet64 (uint64 *s);
|
||||||
import void OPM_SymWCh (CHAR ch);
|
import void OPM_SymWCh (CHAR ch);
|
||||||
import void OPM_SymWInt (int64 i);
|
import void OPM_SymWInt (int64 i);
|
||||||
import void OPM_SymWLReal (LONGREAL lr);
|
import void OPM_SymWLReal (LONGREAL lr);
|
||||||
|
|
|
||||||
|
|
@ -89,6 +89,7 @@ export void Files_ReadLInt (Files_Rider *R, address *R__typ, int32 *x);
|
||||||
export void Files_ReadLReal (Files_Rider *R, address *R__typ, LONGREAL *x);
|
export void Files_ReadLReal (Files_Rider *R, address *R__typ, LONGREAL *x);
|
||||||
export void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
export void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
||||||
export void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x);
|
export void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x);
|
||||||
|
export void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len);
|
||||||
export void Files_ReadReal (Files_Rider *R, address *R__typ, REAL *x);
|
export void Files_ReadReal (Files_Rider *R, address *R__typ, REAL *x);
|
||||||
export void Files_ReadSet (Files_Rider *R, address *R__typ, uint32 *x);
|
export void Files_ReadSet (Files_Rider *R, address *R__typ, uint32 *x);
|
||||||
export void Files_ReadString (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
export void Files_ReadString (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
||||||
|
|
@ -914,6 +915,23 @@ void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len)
|
||||||
} while (!b);
|
} while (!b);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len)
|
||||||
|
{
|
||||||
|
int8 s, b;
|
||||||
|
int64 q;
|
||||||
|
s = 0;
|
||||||
|
q = 0;
|
||||||
|
Files_Read(&*R, R__typ, (void*)&b);
|
||||||
|
while ((int16)b >= 128) {
|
||||||
|
q += (int64)__ASH(((int16)b - 128), s);
|
||||||
|
s += 7;
|
||||||
|
Files_Read(&*R, R__typ, (void*)&b);
|
||||||
|
}
|
||||||
|
q += (int64)__ASH((__MASK(b, -64) - __ASHL(__ASHR(b, 6), 6)), s);
|
||||||
|
__ASSERT(x__len <= 8, 0);
|
||||||
|
__MOVE((address)&q, (address)x, x__len);
|
||||||
|
}
|
||||||
|
|
||||||
void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x)
|
void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x)
|
||||||
{
|
{
|
||||||
int8 s;
|
int8 s;
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,7 @@ import void Files_ReadLInt (Files_Rider *R, address *R__typ, int32 *x);
|
||||||
import void Files_ReadLReal (Files_Rider *R, address *R__typ, LONGREAL *x);
|
import void Files_ReadLReal (Files_Rider *R, address *R__typ, LONGREAL *x);
|
||||||
import void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
import void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
||||||
import void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x);
|
import void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x);
|
||||||
|
import void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len);
|
||||||
import void Files_ReadReal (Files_Rider *R, address *R__typ, REAL *x);
|
import void Files_ReadReal (Files_Rider *R, address *R__typ, REAL *x);
|
||||||
import void Files_ReadSet (Files_Rider *R, address *R__typ, uint32 *x);
|
import void Files_ReadSet (Files_Rider *R, address *R__typ, uint32 *x);
|
||||||
import void Files_ReadString (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
import void Files_ReadString (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
||||||
|
|
|
||||||
|
|
@ -82,6 +82,7 @@ export int64 OPM_SymRInt64 (void);
|
||||||
export void OPM_SymRLReal (LONGREAL *lr);
|
export void OPM_SymRLReal (LONGREAL *lr);
|
||||||
export void OPM_SymRReal (REAL *r);
|
export void OPM_SymRReal (REAL *r);
|
||||||
export void OPM_SymRSet (uint32 *s);
|
export void OPM_SymRSet (uint32 *s);
|
||||||
|
export void OPM_SymRSet64 (uint64 *s);
|
||||||
export void OPM_SymWCh (CHAR ch);
|
export void OPM_SymWCh (CHAR ch);
|
||||||
export void OPM_SymWInt (int64 i);
|
export void OPM_SymWInt (int64 i);
|
||||||
export void OPM_SymWLReal (LONGREAL lr);
|
export void OPM_SymWLReal (LONGREAL lr);
|
||||||
|
|
@ -752,10 +753,17 @@ int32 OPM_SymRInt (void)
|
||||||
int64 OPM_SymRInt64 (void)
|
int64 OPM_SymRInt64 (void)
|
||||||
{
|
{
|
||||||
int64 _o_result;
|
int64 _o_result;
|
||||||
_o_result = OPM_SymRInt();
|
int64 k;
|
||||||
|
Files_ReadNum64(&OPM_oldSF, Files_Rider__typ, (void*)&k, 8);
|
||||||
|
_o_result = k;
|
||||||
return _o_result;
|
return _o_result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void OPM_SymRSet64 (uint64 *s)
|
||||||
|
{
|
||||||
|
Files_ReadNum64(&OPM_oldSF, Files_Rider__typ, (void*)&*s, 8);
|
||||||
|
}
|
||||||
|
|
||||||
void OPM_SymRSet (uint32 *s)
|
void OPM_SymRSet (uint32 *s)
|
||||||
{
|
{
|
||||||
Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (int32*)&*s);
|
Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (int32*)&*s);
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,7 @@ import int64 OPM_SymRInt64 (void);
|
||||||
import void OPM_SymRLReal (LONGREAL *lr);
|
import void OPM_SymRLReal (LONGREAL *lr);
|
||||||
import void OPM_SymRReal (REAL *r);
|
import void OPM_SymRReal (REAL *r);
|
||||||
import void OPM_SymRSet (uint32 *s);
|
import void OPM_SymRSet (uint32 *s);
|
||||||
|
import void OPM_SymRSet64 (uint64 *s);
|
||||||
import void OPM_SymWCh (CHAR ch);
|
import void OPM_SymWCh (CHAR ch);
|
||||||
import void OPM_SymWInt (int64 i);
|
import void OPM_SymWInt (int64 i);
|
||||||
import void OPM_SymWLReal (LONGREAL lr);
|
import void OPM_SymWLReal (LONGREAL lr);
|
||||||
|
|
|
||||||
|
|
@ -89,6 +89,7 @@ export void Files_ReadLInt (Files_Rider *R, address *R__typ, int32 *x);
|
||||||
export void Files_ReadLReal (Files_Rider *R, address *R__typ, LONGREAL *x);
|
export void Files_ReadLReal (Files_Rider *R, address *R__typ, LONGREAL *x);
|
||||||
export void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
export void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
||||||
export void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x);
|
export void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x);
|
||||||
|
export void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len);
|
||||||
export void Files_ReadReal (Files_Rider *R, address *R__typ, REAL *x);
|
export void Files_ReadReal (Files_Rider *R, address *R__typ, REAL *x);
|
||||||
export void Files_ReadSet (Files_Rider *R, address *R__typ, uint32 *x);
|
export void Files_ReadSet (Files_Rider *R, address *R__typ, uint32 *x);
|
||||||
export void Files_ReadString (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
export void Files_ReadString (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
||||||
|
|
@ -914,6 +915,23 @@ void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len)
|
||||||
} while (!b);
|
} while (!b);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len)
|
||||||
|
{
|
||||||
|
int8 s, b;
|
||||||
|
int64 q;
|
||||||
|
s = 0;
|
||||||
|
q = 0;
|
||||||
|
Files_Read(&*R, R__typ, (void*)&b);
|
||||||
|
while ((int16)b >= 128) {
|
||||||
|
q += (int64)__ASH(((int16)b - 128), s);
|
||||||
|
s += 7;
|
||||||
|
Files_Read(&*R, R__typ, (void*)&b);
|
||||||
|
}
|
||||||
|
q += (int64)__ASH((__MASK(b, -64) - __ASHL(__ASHR(b, 6), 6)), s);
|
||||||
|
__ASSERT(x__len <= 8, 0);
|
||||||
|
__MOVE((address)&q, (address)x, x__len);
|
||||||
|
}
|
||||||
|
|
||||||
void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x)
|
void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x)
|
||||||
{
|
{
|
||||||
int8 s;
|
int8 s;
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,7 @@ import void Files_ReadLInt (Files_Rider *R, address *R__typ, int32 *x);
|
||||||
import void Files_ReadLReal (Files_Rider *R, address *R__typ, LONGREAL *x);
|
import void Files_ReadLReal (Files_Rider *R, address *R__typ, LONGREAL *x);
|
||||||
import void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
import void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
||||||
import void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x);
|
import void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x);
|
||||||
|
import void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len);
|
||||||
import void Files_ReadReal (Files_Rider *R, address *R__typ, REAL *x);
|
import void Files_ReadReal (Files_Rider *R, address *R__typ, REAL *x);
|
||||||
import void Files_ReadSet (Files_Rider *R, address *R__typ, uint32 *x);
|
import void Files_ReadSet (Files_Rider *R, address *R__typ, uint32 *x);
|
||||||
import void Files_ReadString (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
import void Files_ReadString (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len);
|
||||||
|
|
|
||||||
|
|
@ -82,6 +82,7 @@ export int64 OPM_SymRInt64 (void);
|
||||||
export void OPM_SymRLReal (LONGREAL *lr);
|
export void OPM_SymRLReal (LONGREAL *lr);
|
||||||
export void OPM_SymRReal (REAL *r);
|
export void OPM_SymRReal (REAL *r);
|
||||||
export void OPM_SymRSet (uint32 *s);
|
export void OPM_SymRSet (uint32 *s);
|
||||||
|
export void OPM_SymRSet64 (uint64 *s);
|
||||||
export void OPM_SymWCh (CHAR ch);
|
export void OPM_SymWCh (CHAR ch);
|
||||||
export void OPM_SymWInt (int64 i);
|
export void OPM_SymWInt (int64 i);
|
||||||
export void OPM_SymWLReal (LONGREAL lr);
|
export void OPM_SymWLReal (LONGREAL lr);
|
||||||
|
|
@ -752,10 +753,17 @@ int32 OPM_SymRInt (void)
|
||||||
int64 OPM_SymRInt64 (void)
|
int64 OPM_SymRInt64 (void)
|
||||||
{
|
{
|
||||||
int64 _o_result;
|
int64 _o_result;
|
||||||
_o_result = OPM_SymRInt();
|
int64 k;
|
||||||
|
Files_ReadNum64(&OPM_oldSF, Files_Rider__typ, (void*)&k, 8);
|
||||||
|
_o_result = k;
|
||||||
return _o_result;
|
return _o_result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void OPM_SymRSet64 (uint64 *s)
|
||||||
|
{
|
||||||
|
Files_ReadNum64(&OPM_oldSF, Files_Rider__typ, (void*)&*s, 8);
|
||||||
|
}
|
||||||
|
|
||||||
void OPM_SymRSet (uint32 *s)
|
void OPM_SymRSet (uint32 *s)
|
||||||
{
|
{
|
||||||
Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (int32*)&*s);
|
Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (int32*)&*s);
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,7 @@ import int64 OPM_SymRInt64 (void);
|
||||||
import void OPM_SymRLReal (LONGREAL *lr);
|
import void OPM_SymRLReal (LONGREAL *lr);
|
||||||
import void OPM_SymRReal (REAL *r);
|
import void OPM_SymRReal (REAL *r);
|
||||||
import void OPM_SymRSet (uint32 *s);
|
import void OPM_SymRSet (uint32 *s);
|
||||||
|
import void OPM_SymRSet64 (uint64 *s);
|
||||||
import void OPM_SymWCh (CHAR ch);
|
import void OPM_SymWCh (CHAR ch);
|
||||||
import void OPM_SymWInt (int64 i);
|
import void OPM_SymWInt (int64 i);
|
||||||
import void OPM_SymWLReal (LONGREAL lr);
|
import void OPM_SymWLReal (LONGREAL lr);
|
||||||
|
|
|
||||||
|
|
@ -592,27 +592,21 @@ MODULE OPM; (* RC 6.3.89 / 28.6.89, J.Templ 10.7.89 / 22.7.96 *)
|
||||||
BEGIN Files.Read(oldSF, ch)
|
BEGIN Files.Read(oldSF, ch)
|
||||||
END SymRCh;
|
END SymRCh;
|
||||||
|
|
||||||
|
(* todo - combine RInt64 and RInt *)
|
||||||
PROCEDURE SymRInt*(): LONGINT;
|
PROCEDURE SymRInt*(): LONGINT;
|
||||||
VAR k: LONGINT;
|
VAR k: LONGINT;
|
||||||
BEGIN Files.ReadNum(oldSF, k); RETURN k
|
BEGIN Files.ReadNum(oldSF, k); RETURN k
|
||||||
END SymRInt;
|
END SymRInt;
|
||||||
|
|
||||||
(* todo
|
|
||||||
PROCEDURE SymRInt64*(): SYSTEM.INT64;
|
PROCEDURE SymRInt64*(): SYSTEM.INT64;
|
||||||
VAR k: SYSTEM.INT64;
|
VAR k: SYSTEM.INT64;
|
||||||
BEGIN Files.ReadNum(oldSF, k); RETURN k
|
BEGIN Files.ReadNum64(oldSF, k); RETURN k
|
||||||
END SymRInt64;
|
|
||||||
*)
|
|
||||||
|
|
||||||
PROCEDURE SymRInt64*(): SYSTEM.INT64;
|
|
||||||
BEGIN RETURN SymRInt()
|
|
||||||
END SymRInt64;
|
END SymRInt64;
|
||||||
|
|
||||||
(* todo
|
(* todo - combine RSet64 and RSet *)
|
||||||
PROCEDURE SymRSet*(VAR s: SYSTEM.SET64);
|
PROCEDURE SymRSet64*(VAR s: SYSTEM.SET64);
|
||||||
BEGIN Files.ReadNum(oldSF, SYSTEM.VAL(SYSTEM.INT64, s))
|
BEGIN Files.ReadNum64(oldSF, s)
|
||||||
END SymRSet;
|
END SymRSet64;
|
||||||
*)
|
|
||||||
|
|
||||||
PROCEDURE SymRSet*(VAR s: SET);
|
PROCEDURE SymRSet*(VAR s: SET);
|
||||||
BEGIN Files.ReadNum(oldSF, SYSTEM.VAL(LONGINT, s))
|
BEGIN Files.ReadNum(oldSF, SYSTEM.VAL(LONGINT, s))
|
||||||
|
|
|
||||||
|
|
@ -654,16 +654,6 @@ Especially Length would become fairly complex.
|
||||||
UNTIL b
|
UNTIL b
|
||||||
END ReadLine;
|
END ReadLine;
|
||||||
|
|
||||||
(*
|
|
||||||
PROCEDURE ReadNum* (VAR R: Rider; VAR x: LONGINT);
|
|
||||||
VAR s: SHORTINT; ch: CHAR; n: LONGINT;
|
|
||||||
BEGIN s := 0; n := 0; Read(R, ch);
|
|
||||||
WHILE ORD(ch) >= 128 DO INC(n, ASH(ORD(ch) - 128, s) ); INC(s, 7); Read(R, ch) END;
|
|
||||||
INC(n, ASH(ORD(ch) MOD 64 - ORD(ch) DIV 64 * 64, s) );
|
|
||||||
x := n
|
|
||||||
END ReadNum;
|
|
||||||
*)
|
|
||||||
|
|
||||||
PROCEDURE ReadNum*(VAR R: Rider; VAR x: ARRAY OF SYSTEM.BYTE);
|
PROCEDURE ReadNum*(VAR R: Rider; VAR x: ARRAY OF SYSTEM.BYTE);
|
||||||
VAR s, b: SYSTEM.INT8; q: SYSTEM.INT64;
|
VAR s, b: SYSTEM.INT8; q: SYSTEM.INT64;
|
||||||
BEGIN s := 0; q := 0; Read(R, b);
|
BEGIN s := 0; q := 0; Read(R, b);
|
||||||
|
|
|
||||||
|
|
@ -654,16 +654,16 @@ Especially Length would become fairly complex.
|
||||||
UNTIL b
|
UNTIL b
|
||||||
END ReadLine;
|
END ReadLine;
|
||||||
|
|
||||||
(* todo
|
(* todo combine ReadNum and ReadNum64 *)
|
||||||
PROCEDURE ReadNum*(VAR R: Rider; VAR x: ARRAY OF SYSTEM.BYTE);
|
PROCEDURE ReadNum64*(VAR R: Rider; VAR x: ARRAY OF SYSTEM.BYTE);
|
||||||
VAR s, b: SYSTEM.INT8; q: SYSTEM.INT64;
|
VAR s, b: SYSTEM.INT8; q: SYSTEM.INT64;
|
||||||
BEGIN s := 0; q := 0; Read(R, b);
|
BEGIN s := 0; q := 0; Read(R, b);
|
||||||
WHILE b >= 128 DO INC(q, ASH(b-128, s)); INC(s, 7); Read(R, b) END;
|
WHILE b >= 128 DO INC(q, ASH(b-128, s)); INC(s, 7); Read(R, b) END;
|
||||||
INC(q, ASH(b MOD 64 - b DIV 64 * 64, s));
|
INC(q, ASH(b MOD 64 - b DIV 64 * 64, s));
|
||||||
ASSERT(LEN(x) <= 8);
|
ASSERT(LEN(x) <= 8);
|
||||||
SYSTEM.MOVE(SYSTEM.ADR(q), SYSTEM.ADR(x), LEN(x)) (* Assumes little endian representation of q and x. *)
|
SYSTEM.MOVE(SYSTEM.ADR(q), SYSTEM.ADR(x), LEN(x)) (* Assumes little endian representation of q and x. *)
|
||||||
END ReadNum;
|
END ReadNum64;
|
||||||
*)
|
|
||||||
|
|
||||||
PROCEDURE ReadNum* (VAR R: Rider; VAR x: LONGINT);
|
PROCEDURE ReadNum* (VAR R: Rider; VAR x: LONGINT);
|
||||||
VAR s: SHORTINT; ch: CHAR; n: LONGINT;
|
VAR s: SHORTINT; ch: CHAR; n: LONGINT;
|
||||||
|
|
|
||||||
|
|
@ -155,7 +155,7 @@ installable:
|
||||||
# May require root access.
|
# May require root access.
|
||||||
install:
|
install:
|
||||||
@printf "\nInstalling into \"$(INSTALLDIR)\"\n"
|
@printf "\nInstalling into \"$(INSTALLDIR)\"\n"
|
||||||
@rm -rf "$(INSTALLDIR)/bin" "$(INSTALLDIR)/2 "$(INSTALLDIR)/C
|
@rm -rf "$(INSTALLDIR)"
|
||||||
|
|
||||||
@mkdir -p "$(INSTALLDIR)/bin"
|
@mkdir -p "$(INSTALLDIR)/bin"
|
||||||
@cp $(OBECOMP) "$(INSTALLDIR)/bin/$(OBECOMP)"
|
@cp $(OBECOMP) "$(INSTALLDIR)/bin/$(OBECOMP)"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue