diff --git a/README.adoc b/README.adoc index ce66455..a7cbed6 100644 --- a/README.adoc +++ b/README.adoc @@ -1,2 +1,92 @@ == What is BlitzLLVM? -BlitzLLVM is an attempt at a functional transpiler for BlitzBasic (Blitz2D, Blitz3D, and BlitzPlus). +BlitzLLVM is an attempt at a BlitzBasic (Blitz2D, Blitz3D, BlitzPlus) compiler using the LLVM compiler backend to enable support for many architectures and platforms. The LLVM backend enables us to take advantage of optimizations and architecture targets that LLVM already provides for other languages, and may even enable further functionality previously considered impossible. + +=== Features +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureDescriptionTarget VersionStatus
Unicode SupportConvert all ASCII functionality to support UTF-8 Unicode instead.1.0
User Library HandlingAllow users to provide their own user libraries to load at runtime.1.0
Lexer / Tokenizer
Basic FunctionalityHandling the necessary basic functionality, like turning text and symbols into tokens0.1
Common TypesLexing for the basic types that BlitzBasic supports: Integers, Reals, Strings.0.1
Location TrackingProperly tracking Line and Character location within a provided file to provide better errors and warnings later on.0.1
Error HandlingThrow a proper exception when unexpected behavior occurs, providing necessary information about the error.0.1
Parser (AST)
Global Variables
Local Variables
Global Functions
Local Functions
Math Expressions
+++++