From patchwork Mon Jul 24 15:21:20 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [esnacc-dev] backends: set code readonly X-Patchwork-Submitter: Aaron Conole X-Patchwork-Id: 16 X-Patchwork-Delegate: aconole@bytheb.org Message-Id: <20170724152120.10300-1-aconole@bytheb.org> To: dev@lists.esnacc.org Date: Mon, 24 Jul 2017 11:21:20 -0400 From: Aaron Conole List-Id: eSNACC Development discussion Most editors do understand the buffer-read-only directive, so include it upfront. This improves usage overall - generated code in those editors will toggle the read-only flag, and be uneditable. Signed-off-by: Aaron Conole --- compiler/back-ends/c++-gen/gen-code.c | 38 +++++++++++++++++------------------ compiler/back-ends/c-gen/gen-code.c | 31 ++++++++++++++-------------- compiler/back-ends/py-gen/gen-code.c | 16 +++++++-------- 3 files changed, 43 insertions(+), 42 deletions(-) diff --git a/compiler/back-ends/c++-gen/gen-code.c b/compiler/back-ends/c++-gen/gen-code.c index 780df10..395b424 100644 --- a/compiler/back-ends/c++-gen/gen-code.c +++ b/compiler/back-ends/c++-gen/gen-code.c @@ -224,14 +224,15 @@ PrintHdrComment PARAMS ((hdr, m), { time_t now = time (NULL); - fprintf (hdr, "// %s - class definitions for ASN.1 module %s\n", - m->cxxHdrFileName, m->modId->name); - fprintf (hdr, "//\n"); - fprintf (hdr, "// This file was generated by esnacc on %s\n", - ctime(&now)); - fprintf (hdr, "// NOTE: this is a machine generated file-" - "-editing not recommended\n"); - fprintf (hdr, "\n"); + + fprintf(hdr, "// definitions for module %s -*- buffer-read-only: t -*-\n", + m->modId->name); + fprintf(hdr, "//\n"); + fprintf(hdr, "// This file was generated by esnacc on %s\n", + ctime(&now)); + fprintf(hdr, "// NOTE: this is a machine generated file-" + "-editing not recommended\n"); + fprintf(hdr, "\n"); } /* PrintHdrComment */ @@ -240,17 +241,16 @@ PrintSrcComment PARAMS ((src, m), FILE *src _AND_ Module *m) { - time_t now = time (NULL); - - fprintf (src, "// %s - class definitions for ASN.1 module %s\n", - m->cxxSrcFileName, m->modId->name); - fprintf (src, "//\n"); - fprintf (src, "// This file was generated by esnacc on %s\n", - ctime(&now)); - fprintf (src, "// NOTE: this is a machine generated file-" - "-editing not recommended\n"); - fprintf (src, "\n"); - + time_t now = time(NULL); + + fprintf(src, "// definitions for module %s -*- buffer-read-only: t -*-\n", + m->modId->name); + fprintf(src, "//\n"); + fprintf(src, "// This file was generated by esnacc on %s\n", + ctime(&now)); + fprintf(src, "// NOTE: this is a machine generated file-" + "-editing not recommended\n"); + fprintf(src, "\n"); } /* PrintSrcComment */ diff --git a/compiler/back-ends/c-gen/gen-code.c b/compiler/back-ends/c-gen/gen-code.c index 0e19d82..abf0d32 100644 --- a/compiler/back-ends/c-gen/gen-code.c +++ b/compiler/back-ends/c-gen/gen-code.c @@ -482,12 +482,13 @@ PrintCSrcComment PARAMS ((src, m), time_t t; t = time (0); - fprintf (src, "/*\n"); - fprintf (src, " * %s\n", m->cSrcFileName); - fprintf (src, " * \"%s\" ASN.1 module encode/decode/print/free C src.\n", m->modId->name); - fprintf (src, " * This file was generated by esnacc on %s", ctime (&t)); - fprintf (src, " * NOTE: This is a machine generated file - editing not recommended\n"); - fprintf (src, " */\n\n"); + fprintf(src, "/* -*- buffer-read-only: t -*- \n"); + fprintf(src, " * %s\n", m->cSrcFileName); + fprintf(src, " * \"%s\" ASN.1 module encode/decode/print/free C src.\n", + m->modId->name); + fprintf(src, " * This file was generated by esnacc on %s", ctime (&t)); + fprintf(src, " * NOTE: This is a machine generated file - editing not recommended\n"); + fprintf(src, " */\n\n"); } /* PrintSrcComment */ @@ -568,13 +569,13 @@ PrintCHdrComment PARAMS ((f, m), { time_t t; - t = time (0); - fprintf (f, "/*\n"); - fprintf (f, " * %s\n", m->cHdrFileName); - fprintf (f, " * \"%s\" ASN.1 module C type definitions and" - " prototypes\n", m->modId->name); - fprintf (f, " * This file was generated by esnacc on %s", ctime (&t)); - fprintf (f, " * NOTE: This is a machine generated file-" - "-editing not recommended\n"); - fprintf (f, " */\n\n"); + t = time(0); + fprintf(f, "/* -*- buffer-read-only: t -*-\n"); + fprintf(f, " * %s\n", m->cHdrFileName); + fprintf(f, " * \"%s\" ASN.1 module C type definitions and" + " prototypes\n", m->modId->name); + fprintf(f, " * This file was generated by esnacc on %s", ctime (&t)); + fprintf(f, " * NOTE: This is a machine generated file-" + "-editing not recommended\n"); + fprintf(f, " */\n\n"); } /* PrintCHdrComment */ diff --git a/compiler/back-ends/py-gen/gen-code.c b/compiler/back-ends/py-gen/gen-code.c index 21ed6b4..ebc8f9e 100644 --- a/compiler/back-ends/py-gen/gen-code.c +++ b/compiler/back-ends/py-gen/gen-code.c @@ -126,14 +126,14 @@ PrintSrcComment PARAMS ((src, m), { time_t now = time (NULL); - fprintf (src, "# %s - class definitions for ASN.1 module %s\n", - m->cxxSrcFileName, m->modId->name); - fprintf (src, "#\n"); - fprintf (src, "# This file was generated by esnacc on %s\n", - ctime(&now)); - fprintf (src, "# NOTE: this is a machine generated file-" - "-editing not recommended\n"); - fprintf (src, "\n"); + fprintf(src, "# class definitions for module %s -*- buffer-read-only: t -*-\n", + m->modId->name); + fprintf(src, "#\n"); + fprintf(src, "# This file was generated by esnacc on %s\n", + ctime(&now)); + fprintf(src, "# NOTE: this is a machine generated file-" + "-editing not recommended\n"); + fprintf(src, "\n"); } /* PrintSrcComment */