Hello List, I am studying LLVM/clang recently. One of the method of my learning is making a LLVM project based on LLVM tutorial. http://llvm.org/docs/tutorial/ I divided toy.cpp into several .cpp and .h files in several directories. The purpose of this work is making it structured similar to clang. And I put it up to github. git://github.com/Journeyer/klang.git Now I wonder what license should this work follow or if it is rather prohibited for others to distribute toy.cpp in different form like this. I think this code can be put into llvm/project as another example of LLVM project. If someone want I want to contribute. Best regards -- ---------------------------------------- Journeyer J. Joh o o s a p r o g r a m m e r a t g m a i l d o t c o m ----------------------------------------
> I divided toy.cpp into several .cpp and .h files in several directories. > The purpose of this work is making it structured similar to clang. > And I put it up to github. > > git://github.com/Journeyer/klang.gitThis is a brilliant idea. This is the perfect way to get familiar with LLVM (and Clang, to some extent).> Now I wonder what license should this work follow or if it is rather > prohibited for others to distribute toy.cpp in different form like > this.You can just leave it under the LLVM UIUC license like most of the rest of LLVM.> I think this code can be put into llvm/project as another example of > LLVM project. > If someone want I want to contribute.I think that this would be a great idea at some point, after klang has been polished a bit. First of all, you probably want to add CMake files along with the makefiles. Second, you will want to bring the code in line with the coding standards <http://llvm.org/docs/CodingStandards.html>. In particular, I am seeing hard tabs in the code. Also, IIRC, last I looked at kaleidescope, there were memory leaks and nasty global variables which should probably be fixed before merging this in. You will also want to thoroughly document this project (using Sphinx and _not_ HTML); describe the overall structure of the compiler and which LLVM APIs it uses, give an overview of the directory hierarchy, and put nice big documentation comments at the tops of files explaining how they fit into the bigger picture of the project. Since this project is primarily for helping people to learn LLVM, excellent documentation is *absolutely essential*. You will also want to set up tests, since tests are an integral part of LLVM and Clang; tests will also serve another purpose which is to catch when LLVM changes without klang being updated. -- Sean Silva On Sun, Nov 4, 2012 at 9:14 AM, Journeyer J. Joh <oosaprogrammer at gmail.com> wrote:> Hello List, > > I am studying LLVM/clang recently. > One of the method of my learning is making a LLVM project based on > LLVM tutorial. > > http://llvm.org/docs/tutorial/ > > I divided toy.cpp into several .cpp and .h files in several directories. > The purpose of this work is making it structured similar to clang. > And I put it up to github. > > git://github.com/Journeyer/klang.git > > Now I wonder what license should this work follow or if it is rather > prohibited for others to distribute toy.cpp in different form like > this. > > I think this code can be put into llvm/project as another example of > LLVM project. > If someone want I want to contribute. > > Best regards > -- > ---------------------------------------- > Journeyer J. Joh > o o s a p r o g r a m m e r > a t > g m a i l d o t c o m > ---------------------------------------- > _______________________________________________ > cfe-dev mailing list > cfe-dev at cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
Hello Sean Silva, Thank you. I will polish this code so that I can contribute. Sincerely Journeyer 2012/11/5 Sean Silva <silvas at purdue.edu>:>> I divided toy.cpp into several .cpp and .h files in several directories. >> The purpose of this work is making it structured similar to clang. >> And I put it up to github. >> >> git://github.com/Journeyer/klang.git > > This is a brilliant idea. This is the perfect way to get familiar with > LLVM (and Clang, to some extent). > >> Now I wonder what license should this work follow or if it is rather >> prohibited for others to distribute toy.cpp in different form like >> this. > > You can just leave it under the LLVM UIUC license like most of the rest of LLVM. > >> I think this code can be put into llvm/project as another example of >> LLVM project. >> If someone want I want to contribute. > > I think that this would be a great idea at some point, after klang has > been polished a bit. > > First of all, you probably want to add CMake files along with the makefiles. > > Second, you will want to bring the code in line with the coding > standards <http://llvm.org/docs/CodingStandards.html>. In particular, > I am seeing hard tabs in the code. Also, IIRC, last I looked at > kaleidescope, there were memory leaks and nasty global variables which > should probably be fixed before merging this in. > > You will also want to thoroughly document this project (using Sphinx > and _not_ HTML); describe the overall structure of the compiler and > which LLVM APIs it uses, give an overview of the directory hierarchy, > and put nice big documentation comments at the tops of files > explaining how they fit into the bigger picture of the project. Since > this project is primarily for helping people to learn LLVM, excellent > documentation is *absolutely essential*. > > You will also want to set up tests, since tests are an integral part > of LLVM and Clang; tests will also serve another purpose which is to > catch when LLVM changes without klang being updated. > > -- Sean Silva > > On Sun, Nov 4, 2012 at 9:14 AM, Journeyer J. Joh > <oosaprogrammer at gmail.com> wrote: >> Hello List, >> >> I am studying LLVM/clang recently. >> One of the method of my learning is making a LLVM project based on >> LLVM tutorial. >> >> http://llvm.org/docs/tutorial/ >> >> I divided toy.cpp into several .cpp and .h files in several directories. >> The purpose of this work is making it structured similar to clang. >> And I put it up to github. >> >> git://github.com/Journeyer/klang.git >> >> Now I wonder what license should this work follow or if it is rather >> prohibited for others to distribute toy.cpp in different form like >> this. >> >> I think this code can be put into llvm/project as another example of >> LLVM project. >> If someone want I want to contribute. >> >> Best regards >> -- >> ---------------------------------------- >> Journeyer J. Joh >> o o s a p r o g r a m m e r >> a t >> g m a i l d o t c o m >> ---------------------------------------- >> _______________________________________________ >> cfe-dev mailing list >> cfe-dev at cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev-- ---------------------------------------- Journeyer J. Joh o o s a p r o g r a m m e r a t g m a i l d o t c o m ----------------------------------------