Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
menhir
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
12
Issues
12
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
POTTIER Francois
menhir
Commits
bfa8e279
Commit
bfa8e279
authored
Feb 03, 2015
by
POTTIER Francois
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
TODO notes.
parent
3dff9b90
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
23 additions
and
10 deletions
+23
-10
TODO
TODO
+23
-10
No files found.
TODO
View file @
bfa8e279
...
@@ -93,7 +93,7 @@
...
@@ -93,7 +93,7 @@
vide, Menhir utilise _menhir_env.lexer.lex_start_p, c'est-à-dire le
vide, Menhir utilise _menhir_env.lexer.lex_start_p, c'est-à-dire le
début du dernier token lu par le lexer; en principe c'est le token
début du dernier token lu par le lexer; en principe c'est le token
de lookahead donc ça va, mais ça pourrait donner un résultat bizarre
de lookahead donc ça va, mais ça pourrait donner un résultat bizarre
si on réduit par défaut une production vide (on alors pour position
si on réduit par défaut une production vide (on a
a
lors pour position
le début du token précédent?) (BUG?). Par ailleurs, il faut être
le début du token précédent?) (BUG?). Par ailleurs, il faut être
conscient que si l'action ocamllex se rappelle récursivement, alors
conscient que si l'action ocamllex se rappelle récursivement, alors
_menhir_env.lexer.lex_start_p n'est pas le début du token mais une
_menhir_env.lexer.lex_start_p n'est pas le début du token mais une
...
@@ -102,6 +102,28 @@
...
@@ -102,6 +102,28 @@
utiliser un type abstrait d'intervalles, avec un traitement particulier
utiliser un type abstrait d'intervalles, avec un traitement particulier
de l'intervalle vide. (Voir mon message du 15/09/2011.)
de l'intervalle vide. (Voir mon message du 15/09/2011.)
* Tirer au clair la sémantique des $startpos/$endpos sur les productions vides.
BUG: %inline ne préserve pas la sémantique de $startpos/$endpos.
C'est vrai pour les productions epsilon (forcément)
mais aussi pour des productions non-epsilon
car $startpos de la production inlinée est changée en $endpos(x) où x est le symbole précédent!
Si on gérait les positions par macro-expansion *avant* de faire l'inlining
alors la passe d'inlining n'aurait pas besoin de s'en occuper (et serait
correcte par construction).
* En mode code on tire les tokens d'un lexbuf et l'utilisateur doit construire
l'API moderne par `wrapping', s'il la souhaite. Mais en mode table l'API
moderne est native et l'API traditionnelle est construite (par nous) par
`wrapping', d'où risque de `double wrapping' pour un utilisateur qui veut
alterner entre code et table. On devrait exposer nous-mêmes les deux API.
En profiter pour laisser l'utilisateur contrôler comment un token doit
être emballé en `fat token' (token + range).
* %inline pourrait-il fonctionner quand la règle à inliner utilise des $i?
* %inline pourrait-il fonctionner quand les productions à inliner ont un %prec?
(ça aurait un sens au moins quand on inline dans une production unité?)
(ou plus généralement quand on inline en dernière position?)
* BUG: message de Valentin Gatien-Baron du 09/01/2010: le bug de --explain
* BUG: message de Valentin Gatien-Baron du 09/01/2010: le bug de --explain
est-il bien le bug connu? peut-on le corriger? ne suffirait-il pas de
est-il bien le bug connu? peut-on le corriger? ne suffirait-il pas de
passer sous silence les conflits qui ont lieu dans une partie inaccessible
passer sous silence les conflits qui ont lieu dans une partie inaccessible
...
@@ -143,15 +165,6 @@
...
@@ -143,15 +165,6 @@
* si une variable est inutilisée dans une action sémantique, le
* si une variable est inutilisée dans une action sémantique, le
warning est affiché dans le code produit.
warning est affiché dans le code produit.
* tirer au clair la sémantique des $startpos/$endpos sur les
non-terminaux. Vérifier que %inline la préserve.
Est-il vrai que l'élimination de %inline change la signification
de $startpos et $endpos (qui devient relative à la nouvelle règle)?
* %inline pourrait-il fonctionner quand la règle à inliner utilise des $i?
* %inline pourrait-il fonctionner quand les productions à inliner ont un %prec?
(ça aurait un sens au moins quand on inline dans une production unité?)
* BUG: solving a shift/reduce conflict in favor of reduction can
* BUG: solving a shift/reduce conflict in favor of reduction can
cut a path that was required in order to explain another conflict.
cut a path that was required in order to explain another conflict.
(see e.g. belloeil.mly) (et le reduced_parser.mly d'Adrien Guatto)
(see e.g. belloeil.mly) (et le reduced_parser.mly d'Adrien Guatto)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment