What are the criteria for including a language in gcc?
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
New contributor
add a comment |
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
New contributor
The main criterion is that some team of programmers are prepared to contribute and maintain a quality frontend for the language. There is a document on GCC internals which you might find interesting; the details are way too complicated for an SE answer.
– rici
2 hours ago
add a comment |
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
New contributor
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
gcc compiler
New contributor
New contributor
New contributor
asked 4 hours ago
Nicholas SchmellerNicholas Schmeller
12
12
New contributor
New contributor
The main criterion is that some team of programmers are prepared to contribute and maintain a quality frontend for the language. There is a document on GCC internals which you might find interesting; the details are way too complicated for an SE answer.
– rici
2 hours ago
add a comment |
The main criterion is that some team of programmers are prepared to contribute and maintain a quality frontend for the language. There is a document on GCC internals which you might find interesting; the details are way too complicated for an SE answer.
– rici
2 hours ago
The main criterion is that some team of programmers are prepared to contribute and maintain a quality frontend for the language. There is a document on GCC internals which you might find interesting; the details are way too complicated for an SE answer.
– rici
2 hours ago
The main criterion is that some team of programmers are prepared to contribute and maintain a quality frontend for the language. There is a document on GCC internals which you might find interesting; the details are way too complicated for an SE answer.
– rici
2 hours ago
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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.
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
The main criterion is that some team of programmers are prepared to contribute and maintain a quality frontend for the language. There is a document on GCC internals which you might find interesting; the details are way too complicated for an SE answer.
– rici
2 hours ago