-
Notifications
You must be signed in to change notification settings - Fork 41
JmlLexer w/o expr mode #3572
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
base: main
Are you sure you want to change the base?
JmlLexer w/o expr mode #3572
Conversation
178b07a to
fa9ab56
Compare
6a9e8c0 to
7380131
Compare
|
I just re-noticed how bad the JML language design is. The previous JML contract could mean:
|
7380131 to
552f739
Compare
Would that not require the keyword |
//@ model model model(model model model) { return model; }A model method, named //@ model model model(ghost ghost ghost) { return ghost; } |
|
Discussed solutions:
|
552f739 to
525a5b2
Compare
|
Backtick-escaping is added. Following is valid: |
525a5b2 to
706f108
Compare
|
Thanks! I'd like to keep this open for discussion for a moment. I must admit that apart from technical necessity, This very backticking mechanism is used in mysql, Kotlin and Scala; so we are in good company. |
ac785f9 to
266c230
Compare
266c230 to
42aced2
Compare
|
currently, the parser fails quite often. |
42aced2 to
171f1ca
Compare
171f1ca to
a0f7b91
Compare
a0f7b91 to
ff85052
Compare
* solve problem with class-level accessible clause.
ff85052 to
97c6c41
Compare
Intended Change
Make
JMLLexermore straightforward to understand by eliminating the two modes (aka contract/expr or outer/inner).Type of pull request
Ensuring quality
Breaking Changes