What are the criteria for including a language in gcc?












0















According to man gcc, gcc supports the following languages, which you can choose from with the -x flag:



c  c-header  cpp-output
c++ c++-header c++-cpp-output
objective-c objective-c-header objective-c-cpp-output
objective-c++ objective-c++-header objective-c++-cpp-output
assembler assembler-with-cpp
ada
f77 f77-cpp-input f95 f95-cpp-input
go
java


What is the criteria for putting a language in gcc? Obviously languages like C and C++ are going to be in gcc, but I was surprised at go and java.



Additionally, the gcc documentation at gnu.org says: "The language-independent component of GCC includes the majority of the optimizers, as well as the “back ends” that generate machine code for various processors." My knowledge on compilers is basic at best, but does this mean that gcc parses and lexes each language into some kind of universal format and then produces some kind of binary from there? If this is the case, would writing a gcc optimizer that is language-independent work for any of those languages, for example both C and go?










share|improve this question







New contributor




Nicholas Schmeller is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

























    0















    According to man gcc, gcc supports the following languages, which you can choose from with the -x flag:



    c  c-header  cpp-output
    c++ c++-header c++-cpp-output
    objective-c objective-c-header objective-c-cpp-output
    objective-c++ objective-c++-header objective-c++-cpp-output
    assembler assembler-with-cpp
    ada
    f77 f77-cpp-input f95 f95-cpp-input
    go
    java


    What is the criteria for putting a language in gcc? Obviously languages like C and C++ are going to be in gcc, but I was surprised at go and java.



    Additionally, the gcc documentation at gnu.org says: "The language-independent component of GCC includes the majority of the optimizers, as well as the “back ends” that generate machine code for various processors." My knowledge on compilers is basic at best, but does this mean that gcc parses and lexes each language into some kind of universal format and then produces some kind of binary from there? If this is the case, would writing a gcc optimizer that is language-independent work for any of those languages, for example both C and go?










    share|improve this question







    New contributor




    Nicholas Schmeller is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.























      0












      0








      0








      According to man gcc, gcc supports the following languages, which you can choose from with the -x flag:



      c  c-header  cpp-output
      c++ c++-header c++-cpp-output
      objective-c objective-c-header objective-c-cpp-output
      objective-c++ objective-c++-header objective-c++-cpp-output
      assembler assembler-with-cpp
      ada
      f77 f77-cpp-input f95 f95-cpp-input
      go
      java


      What is the criteria for putting a language in gcc? Obviously languages like C and C++ are going to be in gcc, but I was surprised at go and java.



      Additionally, the gcc documentation at gnu.org says: "The language-independent component of GCC includes the majority of the optimizers, as well as the “back ends” that generate machine code for various processors." My knowledge on compilers is basic at best, but does this mean that gcc parses and lexes each language into some kind of universal format and then produces some kind of binary from there? If this is the case, would writing a gcc optimizer that is language-independent work for any of those languages, for example both C and go?










      share|improve this question







      New contributor




      Nicholas Schmeller is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      According to man gcc, gcc supports the following languages, which you can choose from with the -x flag:



      c  c-header  cpp-output
      c++ c++-header c++-cpp-output
      objective-c objective-c-header objective-c-cpp-output
      objective-c++ objective-c++-header objective-c++-cpp-output
      assembler assembler-with-cpp
      ada
      f77 f77-cpp-input f95 f95-cpp-input
      go
      java


      What is the criteria for putting a language in gcc? Obviously languages like C and C++ are going to be in gcc, but I was surprised at go and java.



      Additionally, the gcc documentation at gnu.org says: "The language-independent component of GCC includes the majority of the optimizers, as well as the “back ends” that generate machine code for various processors." My knowledge on compilers is basic at best, but does this mean that gcc parses and lexes each language into some kind of universal format and then produces some kind of binary from there? If this is the case, would writing a gcc optimizer that is language-independent work for any of those languages, for example both C and go?







      gcc compiler






      share|improve this question







      New contributor




      Nicholas Schmeller is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question







      New contributor




      Nicholas Schmeller is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question






      New contributor




      Nicholas Schmeller is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 1 hour ago









      Nicholas SchmellerNicholas Schmeller

      12




      12




      New contributor




      Nicholas Schmeller is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Nicholas Schmeller is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Nicholas Schmeller is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          0






          active

          oldest

          votes











          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "106"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });






          Nicholas Schmeller is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f506189%2fwhat-are-the-criteria-for-including-a-language-in-gcc%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          Nicholas Schmeller is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          Nicholas Schmeller is a new contributor. Be nice, and check out our Code of Conduct.













          Nicholas Schmeller is a new contributor. Be nice, and check out our Code of Conduct.












          Nicholas Schmeller is a new contributor. Be nice, and check out our Code of Conduct.
















          Thanks for contributing an answer to Unix & Linux Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f506189%2fwhat-are-the-criteria-for-including-a-language-in-gcc%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          CARDNET

          Boot-repair Failure: Unable to locate package grub-common:i386

          濃尾地震