bjarneh / godag Goto Github PK
View Code? Open in Web Editor NEWcompiler frontend for golang
Home Page: http://code.google.com/p/godag/
License: GNU General Public License v3.0
compiler frontend for golang
Home Page: http://code.google.com/p/godag/
License: GNU General Public License v3.0
------------------------------------------------------------ About: ------------------------------------------------------------ This program will hopefully make it easier to compile source code written in the go programming language. A dependency graph is constructed from imports, this is sorted with a topological sort to figure out if a legal compile order is possible (loop check). The dependency graph itself is used to compile packages, i.e. each packages sits in its own go-routine and waits for its dependencies to finish before it starts. ------------------------------------------------------------ Install: [Linux/Unix/Mac/Windows] ------------------------------------------------------------ > go run mk.go install This will compile + link the binary (gd) and move it to $HOME/bin if it is present, if not it falls back to $GOBIN. > go run mk.go -help to see all available targets/options ------------------------------------------------------------ Try it Out: ------------------------------------------------------------ You can try to compile the same source using the generated executable: gd $ gd src # will compile source inside src $ gd -p src # will print dependency info gathered $ gd -s src # will print legal compile order $ gd src -test # will run unit-tests $ gd src -fmt # will format (gofmt) the source-code $ gd src -o gd # will compile and link executable ------------------------------------------------------------ Contributors ------------------------------------------------------------ Hans Stimer Markus Martin Robert Hencke Hunter Freyer Michael Henke Remo Hertig ------------------------------------------------------------ Philosophy (Babble?) ------------------------------------------------------------ Without a tool to figure out which order the source should be compiled, Makefiles are usually the result. Makefiles are static in nature, which make them a poor choice to handle a dynamic problem like a changing source tree. They also make flat structures quite common, since this usually simplifies the Makefiles, but makes organisation far less intuitive than a directory-tree package-structure. ------------------------------------------------------------ Completion ------------------------------------------------------------ Bash completion script for gd is placed inside util/ ------------------------------------------------------------ Logo ------------------------------------------------------------ The logo was made with LaTeX and tikz, it's basically just an upside down g filled with yellow.. =start LaTeX \documentclass[12pt]{article} \usepackage{tikz} \usepackage{nopageno} \begin{document} \begin{tikzpicture}[remember picture,overlay] \node [scale=75,fill=black!100,opacity=.8, rounded corners] at (current page.center) {}; \node [rotate=180,scale=63,text opacity=0.9,yellow] at (current page.center) {g}; \end{tikzpicture} \end{document} =end LaTeX -bjarneh
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.