* addr() internal

This commit is contained in:
peter 1999-04-17 13:10:23 +00:00
parent 7fc2371e18
commit dc1f9b5bbb
6 changed files with 49 additions and 11 deletions

View File

@ -51,6 +51,7 @@ const
in_break = 39; in_break = 39;
in_continue = 40; in_continue = 40;
in_assert_x_y = 41; in_assert_x_y = 41;
in_addr_x = 42;
{ Internal constant functions } { Internal constant functions }
in_const_trunc = 100; in_const_trunc = 100;
@ -72,7 +73,10 @@ const
in_const_sin = 116; in_const_sin = 116;
{ {
$Log$ $Log$
Revision 1.10 1998-10-05 12:32:45 peter Revision 1.11 1999-04-17 13:12:19 peter
* addr() internal
Revision 1.10 1998/10/05 12:32:45 peter
+ assert() support + assert() support
Revision 1.9 1998/10/02 09:24:20 peter Revision 1.9 1998/10/02 09:24:20 peter

View File

@ -271,6 +271,19 @@ unit pexpr;
statement_syssym:=p1; statement_syssym:=p1;
end; end;
in_addr_x :
begin
consume(LKLAMMER);
in_args:=true;
p1:=comp_expr(true);
p1:=gensinglenode(addrn,p1);
Must_be_valid:=false;
do_firstpass(p1);
pd:=p1^.resulttype;
consume(RKLAMMER);
statement_syssym:=p1;
end;
in_seg_x : in_seg_x :
begin begin
consume(LKLAMMER); consume(LKLAMMER);
@ -1965,7 +1978,10 @@ unit pexpr;
end. end.
{ {
$Log$ $Log$
Revision 1.93 1999-04-15 09:00:08 peter Revision 1.94 1999-04-17 13:12:17 peter
* addr() internal
Revision 1.93 1999/04/15 09:00:08 peter
* fixed property write * fixed property write
Revision 1.92 1999/04/08 20:59:43 florian Revision 1.92 1999/04/08 20:59:43 florian

View File

@ -66,6 +66,7 @@ begin
{$IfnDef OLDVAL} {$IfnDef OLDVAL}
p^.insert(new(psyssym,init('VAL',in_val_x))); p^.insert(new(psyssym,init('VAL',in_val_x)));
{$EndIf OLDVAL} {$EndIf OLDVAL}
p^.insert(new(psyssym,init('ADDR',in_addr_x)));
end; end;
@ -259,7 +260,10 @@ end;
end. end.
{ {
$Log$ $Log$
Revision 1.19 1999-04-07 15:31:12 pierre Revision 1.20 1999-04-17 13:12:20 peter
* addr() internal
Revision 1.19 1999/04/07 15:31:12 pierre
* all formaldefs are now a sinlge definition * all formaldefs are now a sinlge definition
cformaldef (this was necessary for double_checksum) cformaldef (this was necessary for double_checksum)
+ small part of double_checksum code + small part of double_checksum code

View File

@ -51,6 +51,7 @@ const
in_break = 39; in_break = 39;
in_continue = 40; in_continue = 40;
in_assert_x_y = 41; in_assert_x_y = 41;
in_addr_x = 42;
{ Internal constant functions } { Internal constant functions }
in_const_trunc = 100; in_const_trunc = 100;
@ -72,7 +73,10 @@ const
in_const_sin = 116; in_const_sin = 116;
{ {
$Log$ $Log$
Revision 1.6 1998-10-05 12:32:50 peter Revision 1.7 1999-04-17 13:10:23 peter
* addr() internal
Revision 1.10 1998/10/05 12:32:45 peter
+ assert() support + assert() support
Revision 1.9 1998/10/02 09:24:20 peter Revision 1.9 1998/10/02 09:24:20 peter

View File

@ -240,10 +240,12 @@ Begin
ptr:=pointer(off); ptr:=pointer(off);
End; End;
Function Addr (Var X) : Pointer; {$ifndef INTERNALADDR}
Begin Function Addr(var x):pointer;
Addr:=@(X); begin
End; Addr:=@x;
end;
{$endif}
Function CSeg : Word; Function CSeg : Word;
Begin Begin
@ -540,7 +542,10 @@ end;
{ {
$Log$ $Log$
Revision 1.56 1999-04-15 12:20:01 peter Revision 1.57 1999-04-17 13:10:25 peter
* addr() internal
Revision 1.56 1999/04/15 12:20:01 peter
+ finalization support + finalization support
Revision 1.55 1999/03/01 15:41:03 peter Revision 1.55 1999/03/01 15:41:03 peter

View File

@ -187,7 +187,9 @@ Function odd(l:Longint):Boolean;
{$ifndef RTLLITE} {$ifndef RTLLITE}
Function ptr(sel,off:Longint):pointer; Function ptr(sel,off:Longint):pointer;
Function Addr (Var X):pointer; {$ifndef INTERNALADDR}
Function Addr(var x):pointer;
{$endif}
Function Cseg:Word; Function Cseg:Word;
Function Dseg:Word; Function Dseg:Word;
Function Sseg:Word; Function Sseg:Word;
@ -452,7 +454,10 @@ const
{ {
$Log$ $Log$
Revision 1.54 1999-04-08 15:57:56 peter Revision 1.55 1999-04-17 13:10:26 peter
* addr() internal
Revision 1.54 1999/04/08 15:57:56 peter
+ subrange checking for readln() + subrange checking for readln()
Revision 1.53 1999/03/16 17:49:37 jonas Revision 1.53 1999/03/16 17:49:37 jonas