-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Repair not following grammar #280
Comments
If I try this in
as you do. If I then follow its suggestions (noting that "Insert INT" means "insert a value of type INT" so I'll use
which looks OK to me. I guess it's the "insert INT" bit that causes you to make an input that can't be parsed? There is a UI issue here: sometimes we refer to lexeme values (e.g. The user can use the |
Thank you for such an elaborate response. I don't know how did I miss that this was due to inserting INT and not an syntactic error. Extremely sorry for that! However, I have come across the repaired program not conforming to grammar issue with one of the repairs being:
1: Delete * I hope this isn't another silly mistake from my side. |
If I use the %epp feature and mention |
Ah, you can't intermix repair sequences in that way: depending on which repair sequence you take, the rest of the parse (and the parse errors) can be different. There's no practical way around this, unfortunately, without hitting a combinatorial explosion. |
Thank you for the clarification! |
Hi, I was playing with your amazing tool and used a grammar very similar to the "calculator evaluator" given in Quickstart Guide.
I tried an arbitrary buggy calculator program:
1 + * ( 1 + ) ( + * 1 + 1 * ) ( * 1 )
These were the suggested repair sequences:
However, the repaired program we get using the first repair sequence is:
1 + ( 1 + ( 1 + 1 * INT ) * 1 )
, which doesn't conform to the grammar and the tool rejects the repair upon sending it through again. (gives error). Is there something that I missed?calc.y
calc.l
The text was updated successfully, but these errors were encountered: