Skip to Content.
Sympa Menu

coq-club - RE: [Coq-Club] How to switch off notations from an imported module?

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

RE: [Coq-Club] How to switch off notations from an imported module?


Chronological Thread 
  • From: "Soegtrop, Michael" <michael.soegtrop AT intel.com>
  • To: Hugo Herbelin <Hugo.Herbelin AT inria.fr>
  • Cc: "coq-club AT inria.fr" <coq-club AT inria.fr>
  • Subject: RE: [Coq-Club] How to switch off notations from an imported module?
  • Date: Mon, 30 Apr 2018 07:30:25 +0000
  • Accept-language: de-DE, en-US
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=michael.soegtrop AT intel.com; spf=Pass smtp.mailfrom=michael.soegtrop AT intel.com; spf=None smtp.helo=postmaster AT mga07.intel.com
  • Dlp-product: dlpe-windows
  • Dlp-reaction: no-action
  • Dlp-version: 11.0.200.100
  • Ironport-phdr: 9a23:Z4+TXh95YZUlxv9uRHKM819IXTAuvvDOBiVQ1KB21eocTK2v8tzYMVDF4r011RmVBd6ds6oMotGVmpioYXYH75eFvSJKW713fDhBt/8rmRc9CtWOE0zxIa2iRSU7GMNfSA0tpCnjYgBaF8nkelLdvGC54yIMFRXjLwp1Ifn+FpLPg8it2O2+55Pebx9UiDahfLh/MAi4oQLNu8cMnIBsMLwxyhzHontJf+RZ22ZlLk+Nkhj/+8m94odt/zxftPw9+cFAV776f7kjQrxDEDsmKWE169b1uhTFUACC+2ETUmQSkhpPHgjF8BT3VYr/vyfmquZw3jSRMNboRr4oRzut86ZrSAfpiCgZMT457HrXgdF0gK5CvR6tuwBzz4vSbYqINvRxY7ndcMsaS2RfQ8hRSyJPDICyb4QNDuoOIelXoYbmqlsSthSzARWgCP/zxjJKgHL9wK000/4mEQHDxAEsEc8AsHPKo9X6KKcSS+e1zLHQwT7eaP1W2Cvy6IjSfR8/pfGAU697fM3UyUkuCwzFjk+fppLhPz+PzeQNtHaU7+V8VeK1jG4nsxp8ojmpxscwlIbJgpgZxUzD9SV82Ys4I8CzRkB8Yd6hCpRQtieaOpN3QsMkX2FnpiI6xqcbtpGleiUB1ZcpxwbHZvCafYWF7QjvWPufLDp3nn5pZbyyiheo/US91uHwStG43EtLoydLiNXBuH4A2wbN5sWJTvZx5Fqt1DWR2wzL9+1JIEQ5mbDFJ5MhzbM8jIQfvV7dEiL5nEj7irKdeF8+9eiy8evnZ63rpp+COI9wjQHzKqEumsOlDugkMAUCRWmb+eKg1LL9+U31WqlFjvozkqXBsZDaI9oUprKhDgNI3Isu5AyzAyqo3dkXh3ULMVxIdROdg4T0J13CPOj0DfKljFStlDdryerGPrrkApjVK3jDkavufbZn5EFCzAo/18tf55VKBbEOPPLzQEjxtMTDAx84NQy03/joCNFn2owCXmKPB7eVMLnOvl+Q+uIvP+6MaZcJtzb6Mvgp/uLhjXskmVAGZqSpxpsWaHWgHvt8OUmZYHzsgs0AEWgQpAY+QvbqgkWYUTFPf3ayQ7485jYjBYKmE4jDXJuij6KF3Ce6GJ1bfWFHClGJEXjzbYWLQe0AaCOUIs97kzwLT6KtS4E71ULmiAiv66doKaL09zcSuJbi0pAhx/DcklcS+CZ+AsCc1UmMSXt1lyUGXWll8rp4pBk38VCO3rRihOQcXflS7PNAXwNwfcrZzud6At32HBnGc9iVUlG+atSgHTw1CNk2xoldMA5GB9y+g0WbjGKRCLgPmunOXcRsq/OO7z3KP894jk3++uwkhlgiTNFIMDT/1K956wXXQYXOlhfAzvr4ReEnxCfIsVy74y+WpkgBCVxxV7nIWTYUYU6E9Y2ktHOHdKenDPEcCiUEycOGLfIVONjmhA0ZAvblJNnaJWm2njXoCA==

Dear Hugo,

looking at argument scopes, I don't see how a static adjustment of the parser
table could work. Cause of argument scopes also syntax which is not visible
can be used.

Think of the ==> operator defined in Morphisms.v. The signature_scope is not
visible by default, but since Proper sets its argument scope to
signature_scope, the ==> operator can be used anyway in the argument to
Proper. If the parser is restricted to visible syntax, this wouldn't work
anymore.

I guess what would be needed is a parser using a table with context sensitive
conditions on each transition in the state table. So if something like

Proper (someequiv ==> someequiv ==> someequiv) someop

is parsed, the parser state transitions belonging to signature_scope are
enabled for the first argument of Proper, otherwise not. Not sure how
feasible this would be in a bottom up parser. I guess (from observable
behavior) what happens right now is that first a parse according the syntax
defined by all scopes is done resulting in a parse tree and then in a second
pass the scope resolution is done.

Best regards,

Michael
Intel Deutschland GmbH
Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Christian Lamprechter
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928



Archive powered by MHonArc 2.6.18.

Top of Page