(root)/
bison-3.8.2/
src/
i18n-strings.c
       1  /* This file is not compiled in, it is used only to expose more
       2     strings to gettextize.
       3  
       4     Why is this needed?
       5  
       6     Bison emits strings to translate in the generated code, for builtin
       7     tokens.  So they appear only in generated parsers, which are not
       8     shipped, so they are not in the src tree, so we cannot use them in
       9     our POTFILE.
      10  
      11     Except src/parse-gram.c, which is in the source tree.  And even in
      12     the git repo.  But to avoid useless diffs in the repo, we do not
      13     keep the #line directives in the src tree.  Yet, for the user, we
      14     ship a src/parse-gram.c _with_ the #lines.  This is done in a
      15     dist-hook which regenerates src/parse-gram.c when we run "make
      16     dist".
      17  
      18     Unfortunately, then, update-po traverses the whole tree and sees
      19     that the location of the strings to translate in src/parse-gram.c
      20     have changed, so the bison.pot is to be updated.  And that is not
      21     possible in the "make dist" which is run within "make distcheck"
      22     (not the one preparing the dist for distcheck, the one run by
      23     distcheck to check that a distributed tarball can build a tarball)
      24     because then the src tree is read-only.
      25  
      26     So let's not put src/parse-gram.c in the POTFILE, and expose these
      27     strings to gettextize by hand.
      28    */
      29  
      30  // Please syntax-check.
      31  #include <config.h>
      32  
      33  static const char *const msgid[] =
      34    {
      35      N_("end of file"),
      36      N_("invalid token")
      37    }