Commit Graph

8 Commits

Author SHA1 Message Date
Michael Fabian 'Xaymar' Dirks d5945e8c39 code_compiler: Implement Lexer for Blitz
The Lexer should now be able to parse all existing Blitz code into easily identified Tokens. With this information, a Parser can now verify that the syntax was kept correctly, warn about possible dangerous or wrong use and convert the Tokens into actual LLVM code for compiling.
2017-11-13 02:14:57 +01:00
Michael Fabian 'Xaymar' Dirks 89b98c6925 project: Remove LLVM submodule 2017-11-12 01:39:43 +01:00
Michael Fabian 'Xaymar' Dirks e59022b9f0 cmake: Actually name the project 2017-11-12 01:39:22 +01:00
Michael Fabian 'Xaymar' Dirks 00b37f0d05 code_compiler: Add LLVM, Boost, licensing and help
Boost is used to parse program arguments into a usable format, print help and so on. This makes it far easier to quickly get off the ground and is also reasonably fast with relatively small impact. Since Boost provides prebuilt versions with all recent compilers, it shouldn't impact newer people.

LLVM will be used for compiling the actual code, as of right now there is no Tokenizer, Parser or Compiler implemented. This will be the biggest task as it requires careful planning in order to not end up like Mark Sibly did with BlitzBasic and all the programming languages that ended up being created by it.

Additionally removed the VERSION_BUILD from the template so that version updates work better.
2017-11-12 01:38:50 +01:00
Michael Fabian 'Xaymar' Dirks c0556b3b16 test: Basic sample 2017-11-11 22:32:42 +01:00
Michael Fabian 'Xaymar' Dirks 2be7f85158 project: Split into separate projects 2017-11-11 22:32:30 +01:00
Michael Fabian Dirks f6cf791abb project: Add LLVM submodule 2017-04-10 14:59:06 +02:00
Michael Fabian Dirks 46c626fa7b Initial Commit
BlitzLLVM is licensed under the LGPL to hopefully discourage people from claiming this works as their own and selling it.
2017-04-10 14:58:19 +02:00