* better get_current_col

This commit is contained in:
peter 1998-05-31 14:10:54 +00:00
parent cc476415ee
commit ed10a74289

View File

@ -147,15 +147,15 @@ unit scanner;
orgpattern,
pattern : string;
macrobuffer : ^tmacrobuffer;
inputbuffer : pchar;
lastlinepos,
lasttokenpos,
inputbuffer,
inputpointer : pchar;
{ parse_types, } { true, if type declarations are parsed }
s_point : boolean;
comment_level,
yylexcount,
macropos,
lastlinepos,
lasttokenpos : longint;
macropos : longint;
lastasmgetchar : char;
preprocstack : ppreprocstack;
@ -259,10 +259,14 @@ unit scanner;
function get_current_col : longint;
begin
if lastlinepos<=lasttokenpos then
get_current_col:=lasttokenpos-lastlinepos
else
get_current_col:=0;
{$ifdef TP}
if lastlinepos<=lasttokenpos then
get_current_col:=longint(lasttokenpos)-longint(lastlinepos)
else
get_current_col:=longint(lastlinepos)-longint(lasttokenpos);
{$else}
get_current_col:=cardinal(lasttokenpos)-cardinal(lastlinepos);
{$endif}
end;
@ -382,7 +386,7 @@ unit scanner;
inc(current_module^.current_inputfile^.line_no);
status.currentline:=current_module^.current_inputfile^.line_no;
inc(status.compiledlines);
lastlinepos:=longint(inputpointer);
lastlinepos:=inputpointer;
end;
@ -710,13 +714,13 @@ unit scanner;
until false;
{ Save current token position }
lasttokenpos:=longint(inputpointer);
lasttokenpos:=inputpointer;
tokenpos.line:=current_module^.current_inputfile^.line_no;
tokenpos.column:=get_current_col;
tokenpos.fileindex:=current_module^.current_index;
{ Check first for a identifier/keyword, this is 20+% faster (PFV) }
{ Check first for a identifier/keyword, this is 20+% faster (PFV) }
if c in ['_','A'..'Z','a'..'z'] then
begin
@ -777,7 +781,7 @@ unit scanner;
end;
goto exit_label;
end
else
else
begin
case c of
'$' : begin
@ -1167,8 +1171,8 @@ exit_label:
reload;
preprocstack:=nil;
comment_level:=0;
lasttokenpos:=0;
lastlinepos:=0;
lasttokenpos:=inputpointer;
lastlinepos:=inputpointer;
s_point:=false;
end;
@ -1256,7 +1260,10 @@ exit_label:
end.
{
$Log$
Revision 1.21 1998-05-27 00:20:32 peter
Revision 1.22 1998-05-31 14:10:54 peter
* better get_current_col
Revision 1.21 1998/05/27 00:20:32 peter
* some scanner optimizes
* automaticly aout2exe for go32v1
* fixed dynamiclinker option which was added at the wrong place