Bug #11

Le compilateur se pert sur de simples erreurs.

Added by Anonymous over 17 years ago. Updated over 17 years ago.

Status:ClosedStart date:
Priority:NormalDue date:
Assignee:Alain Prouté% Done:

0%

Category:Compiler
Target version:1.8
Platform: Triage Stage:
Resolution:fixed

Description

J’ai remarqué que depuis peu, le compilateur se comportait « bizarrement » lorsqu’il rencontrait une erreur de syntaxe.

L’exemple le plus marquant est le simple oubli d’un paramètre dans l’appel d’une fonction :

Avant, me semble-t’il, il affichait simplement l’erreur qui concernait cet oubli (donc total : une seule erreur).
Maintenant, cette erreur lui fait perdre les pédales et il en affiche une quantité astronomique (en clair, on atteint la limite imposée, soit 10 par défaut).

Voici un exemple (au passage, vous noterez que la véritable erreur s’affiche 2 fois !). Une fois l’erreur de paramètres corrigée, la compilation passe sans erreur.

Construction lancée.
Compilation en cours [[MailFountain]]
anubis.exe -I"./src/versions/S100;./src;./;C:\Anubis_dev\anubis_dev\library\;D:\Develop\Anubis\Trunc\anubis_dev\library\\" -cdir:..\Trunc\bin\anubis\ -pdir:D:\Develop\Anubis\Trunc\anubis_dev\ -tab2 src\mailfountain.anubis 
D:\Develop\Anubis\EZMailBox\EZMailBox\src\pages_mailfountain\user_edit_page.anubis(64,41) : Erreur E018: No interpretation as a function with 3 arguments. 
   Below are the types found for the interpretations of this function: 

      1.  D:/Develop/Anubis/EZMailBox/EZMailBox/src/pages_mailfountain/user_edit_page.anubis:37: make_list_all_user_alias 
public define  
  List(HTML_Row(HTML_Off_Form)) 
    make_list_all_user_alias 
      ( 
        [[ToolBox]] tb, 
        String domain_name, 
        List(User_Alias) left_alias, 
        List(HTML_Row(HTML_Off_Form)) so_far 
      ). 

D:\Develop\Anubis\EZMailBox\EZMailBox\src\pages_mailfountain\user_edit_page.anubis(64,41) : Erreur E018: No interpretation as a function with 3 arguments. 
   Below are the types found for the interpretations of this function: 

      1.  ./src/pages_mailfountain/user_edit_page.anubis:37: make_list_all_user_alias 
public define  
  List(HTML_Row(HTML_Off_Form)) 
    make_list_all_user_alias 
      ( 
        [[ToolBox]] tb, 
        String domain_name, 
        List(User_Alias) left_alias, 
        List(HTML_Row(HTML_Off_Form)) so_far 
      ). 

D:\Develop\Anubis\EZMailBox\EZMailBox\src\pages_mailfountain\user_edit_page.anubis(0,0) : Avertissement : your text contains tabulators, which may 
   make the computation of column numbers inexact. 
   (The compiler counts currently 2 spaces for each tabulator.)
D:\Develop\Anubis\EZMailBox\EZMailBox\src\pages_mailfountain\user_edit_page.anubis(0,0) : Avertissement : your text contains tabulators, which may 
   make the computation of column numbers inexact. 
   (The compiler counts currently 2 spaces for each tabulator.) 

D:\Develop\Anubis\EZMailBox\EZMailBox\src\send_mail.anubis(19,12) : Erreur E077: At that point, it's too late to 
   add alternatives to type 'SendMailResult'. 

D:\Develop\Anubis\EZMailBox\EZMailBox\src\send_mail.anubis(52,12) : Erreur E077: At that point, it's too late to 
   add alternatives to type 'Send_Status'. 

D:\Develop\Anubis\EZMailBox\EZMailBox\src\send_mail.anubis(60,12) : Erreur E077: At that point, it's too late to 
   add alternatives to type 'Str_Sender'. 

D:\Develop\Anubis\EZMailBox\EZMailBox\src\send_mail.anubis(63,12) : Erreur E077: At that point, it's too late to 
   add alternatives to type 'Str_Recipient'. 

D:\Develop\Anubis\EZMailBox\EZMailBox\src\send_mail.anubis(67,12) : Erreur E077: At that point, it's too late to 
   add alternatives to type 'Send_Param'. 

D:\Develop\Anubis\EZMailBox\EZMailBox\src\send_mail.anubis(72,12) : Erreur E077: At that point, it's too late to 
   add alternatives to type 'Send_Timeout'. 

D:\Develop\Anubis\EZMailBox\EZMailBox\src\send_mail.anubis(75,12) : Erreur E077: At that point, it's too late to 
   add alternatives to type 'Send_Tries'. 

D:\Develop\Anubis\EZMailBox\EZMailBox\src\send_mail.anubis(78,14) : Erreur E073: Redefinition of operation 'get_send_status_value' with the same type. 
   The operation is already defined in './src/send_mail.anubis' at line 78. 
   Give another name to this operation. 

Construction échouée.

History

#1 Updated by Alain Prouté over 17 years ago

  • Status changed from New to Assigned

The problem has been identified as a consequence of the immediate making of adm files. Will be fixed soon.

#2 Updated by Alain Prouté over 17 years ago

  • Status changed from Assigned to Closed
  • Resolution set to fixed

The problem has been solved rather drastically. Indeed, if a file ends within a paragraph, a string or an in-paragraph comment, the compiler stops immediately. In other words, this is a fatal error. It has been solved like this because I did not find any manner of putting the parser back into a correct state after this error.

#3 Updated by Anonymous over 17 years ago

  • Status changed from Closed to Feedback
  • Resolution deleted (fixed)

The bug is still present after your changes.

#4 Updated by Anonymous over 17 years ago

  • Status changed from Feedback to Closed
  • Resolution set to fixed

Bug now corrected by some clarification on paths. The compile was lost because it tries to compile same file twice (see the 2 first errors in example).
Paths received by command line option -I weren't converted to absolute ones. So they were duplicated.

Also available in: Atom PDF

Redmine Appliance - Powered by TurnKey Linux