+ $IF DECLARED() added

This commit is contained in:
peter 2003-11-10 19:08:59 +00:00
parent 517c5de6aa
commit 0df248389d

View File

@ -206,6 +206,7 @@ implementation
cutils,
systems,
switches,
symbase,symtable,symtype,
fmodule;
var
@ -357,6 +358,8 @@ implementation
var
hs : string;
mac: tmacro;
srsym : tsym;
srsymtable : tsymtable;
begin
if current_scanner.preproc_token=_ID then
begin
@ -391,6 +394,36 @@ implementation
Message(scan_e_error_in_preproc_expr);
end
else
if readpreproc='DECLARED' then
begin
preproc_consume(_ID);
current_scanner.skipspace;
if current_scanner.preproc_token =_LKLAMMER then
begin
preproc_consume(_LKLAMMER);
current_scanner.skipspace;
end
else
Message(scan_e_error_in_preproc_expr);
if current_scanner.preproc_token =_ID then
begin
hs := upper(current_scanner.preproc_pattern);
if searchsym(hs,srsym,srsymtable) then
hs := '1'
else
hs := '0';
read_factor := hs;
preproc_consume(_ID);
current_scanner.skipspace;
end
else
Message(scan_e_error_in_preproc_expr);
if current_scanner.preproc_token =_RKLAMMER then
preproc_consume(_RKLAMMER)
else
Message(scan_e_error_in_preproc_expr);
end
else
if readpreproc='NOT' then
begin
preproc_consume(_ID);
@ -2871,6 +2904,7 @@ exit_label:
AddConditional('ELSE',directive_turbo, {$ifdef FPCPROCVAR}@{$endif}dir_else);
AddConditional('ENDIF',directive_turbo, {$ifdef FPCPROCVAR}@{$endif}dir_endif);
AddConditional('IFEND',directive_turbo, {$ifdef FPCPROCVAR}@{$endif}dir_endif);
AddConditional('IF',directive_turbo, {$ifdef FPCPROCVAR}@{$endif}dir_if);
AddConditional('IFDEF',directive_turbo, {$ifdef FPCPROCVAR}@{$endif}dir_ifdef);
AddConditional('IFNDEF',directive_turbo, {$ifdef FPCPROCVAR}@{$endif}dir_ifndef);
@ -2895,7 +2929,10 @@ exit_label:
end.
{
$Log$
Revision 1.64 2003-11-10 19:08:32 peter
Revision 1.65 2003-11-10 19:08:59 peter
+ $IF DECLARED() added
Revision 1.64 2003/11/10 19:08:32 peter
* line numbering is now only done when #10, #10#13 is really parsed
instead of when it is the next character