Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000044OCamlOCaml generalpublic2000-02-29 11:012000-04-17 13:46
Reporteradministrator 
Assigned To 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0000044: ocamlyacc 2.04 bug report
Descriptionle source suivant est accepte par ocamlyacc, malgre le `|' manquant en
debut de ligne 19.
Du coup, les # line-nb renvoient n'importe ou dans le fichier .mly
----------------
%{
%}

%token <int>INT
%token <string>VAR
%token PLUS MINUS TIMES DIV
%token LPAREN RPAREN
%token EOL
%left PLUS MINUS /* lowest precedence */
%left TIMES DIV /* medium precedence */
%nonassoc UMINUS /* highest precedence */
%start main /* the entry point */
%type <Calc.expr> main
%%

main: expr EOL { $1 } ;
expr:
 INT { Int($1) }
 VAR { Var($1) }
| LPAREN expr RPAREN { $2 }
| expr PLUS expr { Bin(( + ),"+",1,$1,$3) }
| expr MINUS expr { Bin(( - ),"-",1,$1,$3) }
| expr TIMES expr { Bin(( * ),"*",2,$1,$3) }
| expr DIV expr { Bin(( / ),"/",2,$1,$3) }
| MINUS expr %prec UMINUS { Un((fun x->-x),"-",$2 }
;

----------------
----------------
TagsNo tags attached.
Attached Files

- Relationships

-  Notes
(0000312)
administrator (administrator)
2000-03-03 16:18

> le source suivant est accepte par ocamlyacc, malgre le `|' manquant en
> debut de ligne 19.
> Du coup, les # line-nb renvoient n'importe ou dans le fichier .mly
[...]
> expr:
> INT { Int($1) }
> VAR { Var($1) }
> | LPAREN expr RPAREN { $2 }

J'ai pas vu le probleme avec les # line-nb, mais j'ai fixe ocamlyacc pour qu'il
donne une erreur de syntaxe (sur "VAR" a la ligne 19) dans ce cas.

-- Damien
(0000313)
administrator (administrator)
2000-03-03 16:23



On Fri, 3 Mar 2000, Damien Doligez wrote:

> > le source suivant est accepte par ocamlyacc, malgre le `|' manquant en
> > debut de ligne 19.
> > Du coup, les # line-nb renvoient n'importe ou dans le fichier .mly
> [...]
> > expr:
> > INT { Int($1) }
> > VAR { Var($1) }
> > | LPAREN expr RPAREN { $2 }
>
> J'ai pas vu le probleme avec les # line-nb, mais j'ai fixe ocamlyacc pour qu'il
> donne une erreur de syntaxe (sur "VAR" a la ligne 19) dans ce cas.
>
> -- Damien
>
>

Il n'y a pas de probleme a proprement parler avec les # line-nb ;
simplement, quand on a une erreur dans le code autogenere de parser.ml ---
ce qui ne devrait jamais se produire, mais qui arrivait ici ---, le
message d'erreur d'ocamlc renvoie n'importe ou dans parser.mly au lieu de
renvoyer a la ligne fautive de parser.ml, du fait des # line-nb


(0000314)
administrator (administrator)
2000-04-17 13:46

Fixed in 3.00

- Issue History
Date Modified Username Field Change
2005-11-18 10:13 administrator New Issue


Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker