NameDateSize

..06-Jun-201618

ast-dump.ccH A D13-May-201310.4 KiB

ast-dump.hH A D13-May-20132.6 KiB

backend.hH A D05-Mar-201630 KiB

dataflow.ccH A D13-May-20136.3 KiB

dataflow.hH A D13-May-20132.2 KiB

export.ccH A D05-Mar-201615.1 KiB

export.hH A D05-Mar-20165.7 KiB

expressions.ccH A D05-Mar-2016425.1 KiB

expressions.hH A D05-Mar-201670.8 KiB

go-dump.ccH A D13-May-2013961

go-dump.hH A D13-May-2013997

go-linemap.hH A D13-May-20134.1 KiB

go-optimize.ccH A D13-May-20131 KiB

go-optimize.hH A D13-May-20131 KiB

go.ccH A D05-Mar-20163.8 KiB

gogo.ccH A D05-Mar-2016215.5 KiB

gogo.hH A D05-Mar-201682.4 KiB

import-archive.ccH A D05-Mar-201616.1 KiB

import.ccH A D05-Mar-201625.5 KiB

import.hH A D05-Mar-20168.6 KiB

lex.ccH A D05-Mar-201654.6 KiB

lex.hH A D29-Jan-201411.4 KiB

LICENSEH A D13-May-20131.4 KiB

operator.hH A D13-May-20131.5 KiB

parse.ccH A D05-Mar-2016158.8 KiB

parse.hH A D05-Mar-201610.2 KiB

PATENTSH A D13-May-20131.3 KiB

READMEH A D13-May-20132 KiB

runtime.ccH A D05-Mar-201610 KiB

runtime.defH A D05-Mar-201612.8 KiB

runtime.hH A D13-May-20131 KiB

statements.ccH A D05-Mar-2016162.8 KiB

statements.hH A D05-Mar-201642.1 KiB

string-dump.hH A D13-May-2013725

types.ccH A D05-Mar-2016280.3 KiB

types.hH A D05-Mar-201683.9 KiB

unsafe.ccH A D05-Mar-20162.8 KiB

README

1See ../README.
2
3The frontend is written in C++.
4
5The frontend lexes and parses the input into an IR specific to this
6frontend known as gogo.  It then runs a series of passes over the
7code.
8
9Finally it converts gogo to gcc's GENERIC.  A goal is to move the gcc
10support code into a gcc-interface subdirectory.  The gcc code will be
11put under the GPL.  The rest of the frontend will not include any gcc
12header files.
13
14Issues to be faced in this transition:
15
16* Representation of source locations.
17  + Currently the frontend uses gcc's source_location codes, using the
18    interface in libcpp/line-map.h.
19
20* Handling of error messages.
21  + Currently the frontend uses gcc's error_at and warning_at
22    functions.
23  + Currently the frontend uses gcc's diagnostic formatter, using
24    features such as %<%> for appropriate quoting.
25  + Localization may be an issue.
26
27This compiler works, but the code is a work in progress.  Notably, the
28support for garbage collection is ineffective and needs a complete
29rethinking.  The frontend pays little attention to its memory usage
30and rarely frees any memory.  The code could use a general cleanup
31which we have not had time to do.
32
33Contributing
34=============
35
36To contribute patches to the files in this directory, please see
37http://golang.org/doc/gccgo_contribute.html .
38
39The master copy of these files is hosted at
40http://code.google.com/p/gofrontend .  Changes to these files require
41signing a Google contributor license agreement.  If you are the
42copyright holder, you will need to agree to the individual contributor
43license agreement at
44http://code.google.com/legal/individual-cla-v1.0.html.  This agreement
45can be completed online.
46
47If your organization is the copyright holder, the organization will
48need to agree to the corporate contributor license agreement at
49http://code.google.com/legal/corporate-cla-v1.0.html.
50
51If the copyright holder for your code has already completed the
52agreement in connection with another Google open source project, it
53does not need to be completed again.
54