-
Notifications
You must be signed in to change notification settings - Fork 165
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
Make backends more resilient against keyword and Prelude clashes #278
Labels
Agda
Issues of the Agda backend
bug
C++
C
C#
Haskell/CNF
Haskell/GADT
Haskell
Java/ANTLR
Java
OCaml
printer
Concerning the generated printer
Milestone
Comments
andreasabel
changed the title
Haskell: Printer: variable name "pattern" might clash with PatternSynonyms language extension
Make backends more resiliant againt keyword and Prelude clashes
Dec 16, 2019
andreasabel
changed the title
Make backends more resiliant againt keyword and Prelude clashes
Make backends more resilient againt keyword and Prelude clashes
Dec 16, 2019
andreasabel
changed the title
Make backends more resilient againt keyword and Prelude clashes
Make backends more resilient against keyword and Prelude clashes
Dec 16, 2019
andreasabel
added
C
C#
C++
Haskell/CNF
Haskell/GADT
Java
Java/ANTLR
OCaml
Agda
Issues of the Agda backend
labels
Dec 16, 2019
andreasabel
added a commit
that referenced
this issue
Dec 16, 2019
andreasabel
added a commit
that referenced
this issue
Dec 16, 2019
andreasabel
added a commit
that referenced
this issue
Dec 16, 2019
andreasabel
added a commit
that referenced
this issue
Dec 16, 2019
andreasabel
added a commit
that referenced
this issue
Dec 16, 2019
Abs : import Prelude qualified Par/Skel : import Abs qualified The printer already used qualified import.
andreasabel
added a commit
that referenced
this issue
Dec 16, 2019
andreasabel
added a commit
that referenced
this issue
Dec 16, 2019
andreasabel
added a commit
that referenced
this issue
Dec 22, 2019
andreasabel
added a commit
that referenced
this issue
Dec 22, 2019
Allows e.g. to use Boolean and Object as category names. Visitors need not import the "absyn" package, as they only refer to the syntax classes in a qualified way. In "absyn", we refer to Object as "java.lang.Object".
andreasabel
added a commit
that referenced
this issue
Dec 22, 2019
Also fixes in VisitSkel: - A layout problem: missing newlines between methods of a visitor. - New: calls to "accept" in for-loops.
andreasabel
added a commit
that referenced
this issue
Dec 22, 2019
On case insensitive file systems, we cannot have public java classes that are only distinguished by case. Thus, report an error for clashes modulo case, e.g. between Foo and FOO: Foo. FOO ::= "foo" ;
andreasabel
added a commit
that referenced
this issue
Dec 25, 2019
Patched the generation of show and printing functions for abstract syntax to refer qualified to the abstract syntax module.
andreasabel
added a commit
that referenced
this issue
Dec 25, 2019
Using _int instead of int_ avoids the clash with a user-defined category "Int".
Ocamlyacc can currently only handle 127 entry points correctly, see ocaml/ocaml#9207, less than the test case produces. |
andreasabel
added a commit
that referenced
this issue
Dec 25, 2019
andreasabel
added a commit
that referenced
this issue
Dec 25, 2019
andreasabel
added a commit
that referenced
this issue
Dec 27, 2019
andreasabel
added a commit
that referenced
this issue
Dec 27, 2019
This backend does not like constructor name schema Foo_ . Foo ::= ... since it uses Foo_ as tag for data type Foo. Foo = Tree Foo_
andreasabel
added a commit
that referenced
this issue
Dec 27, 2019
Use Prelude qualified in Abs module. Use Abs module qualified in Skel module.
Menhir also crashes on this testcase, see https://gitlab.inria.fr/fpottier/menhir/issues/31. |
andreasabel
added a commit
that referenced
this issue
Jan 3, 2020
andreasabel
added a commit
that referenced
this issue
Jan 3, 2020
Both ocamlyacc (shipped with ocaml 4.11.1) and menhir (20200624, my birthday version) are up to the task now. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Agda
Issues of the Agda backend
bug
C++
C
C#
Haskell/CNF
Haskell/GADT
Haskell
Java/ANTLR
Java
OCaml
printer
Concerning the generated printer
OP: Haskell: Printer: variable name "pattern" might clash with PatternSynonyms language extension.
creates Haskell printer containing:
However,
pattern
is a Haskell keyword when using{-# LANGUAGE PatternSynonyms #-}
.When trying to get a test case through that has one category for each keyword of each backend target, I notice a number of related issues:
Int
with token typeint
in parserThe text was updated successfully, but these errors were encountered: