2017-03-23 12:15 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/compiler/harbour.y
* create real function in internal memory instead of dummy flow control
error for unclosed structures when new function/procedure declaration
is found just to reset context for farther error reporting. It leaves
unclosed structure on Bison stack but it's unimportant for us because
result of such compilation is ignored due to detected errors and this
modification resolves the problem with ignored pending declarations.
* src/compiler/harbour.yyc
* regenerated
This commit is contained in:
@@ -10,6 +10,18 @@
|
||||
* Change, ! Fix, % Optimization, + Addition, - Removal, ; Comment
|
||||
*/
|
||||
|
||||
2017-03-23 12:15 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
|
||||
* src/compiler/harbour.y
|
||||
* create real function in internal memory instead of dummy flow control
|
||||
error for unclosed structures when new function/procedure declaration
|
||||
is found just to reset context for farther error reporting. It leaves
|
||||
unclosed structure on Bison stack but it's unimportant for us because
|
||||
result of such compilation is ignored due to detected errors and this
|
||||
modification resolves the problem with ignored pending declarations.
|
||||
|
||||
* src/compiler/harbour.yyc
|
||||
* regenerated
|
||||
|
||||
2017-03-22 09:39 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
|
||||
* src/compiler/hbdead.c
|
||||
* src/compiler/hbfix.c
|
||||
|
||||
@@ -500,7 +500,7 @@ LineStat : Crlf { $<lNumber>$ = 0; }
|
||||
| Statement { $<lNumber>$ = 1; }
|
||||
| Declaration { $<lNumber>$ = 1; }
|
||||
| Line { $<lNumber>$ = 0; }
|
||||
| ControlError { $<lNumber>$ = 0; hb_compCheckUnclosedStru( HB_COMP_PARAM, HB_COMP_PARAM->functions.pLast ); }
|
||||
| /* error */ Function
|
||||
| error { if( HB_COMP_PARAM->ilastLineErr && HB_COMP_PARAM->ilastLineErr == HB_COMP_PARAM->currLine )
|
||||
{
|
||||
yyclearin;
|
||||
@@ -514,18 +514,6 @@ LineStat : Crlf { $<lNumber>$ = 0; }
|
||||
}
|
||||
;
|
||||
|
||||
ControlError : FunScopeId FUNCTION IdentName Crlf
|
||||
| FunScopeId FUNCTION IdentName '(' Params ')' Crlf
|
||||
| FunScopeId PROCEDURE IdentName Crlf
|
||||
| FunScopeId PROCEDURE IdentName '(' Params ')' Crlf
|
||||
;
|
||||
|
||||
FunScopeId :
|
||||
| STATIC
|
||||
| INIT
|
||||
| EXIT
|
||||
;
|
||||
|
||||
Statements : LineStat
|
||||
| Statements LineStat { $<lNumber>$ += $<lNumber>2; }
|
||||
;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user