Jump to content

XBLite

From Wikipedia, the free encyclopedia
XBLite Summary
ParadigmProcedural
Designed byDavid Szafranski
DeveloperDavid Szafranski
First appeared2001;23 years ago(2001)
Stable release
2.4.1 / September 7, 2010;14 years ago(2010-09-07)
Typing disciplineStatic
OSMicrosoft Windows
LicenseGNU GPL,Standard libraries licensed under the GNU LGPL
Websitewww.xblite[dead link]
Influenced by
XBasic,QuickBASIC

XBLiteis a freeopen-sourceBASICprogramming languagecompilerand development system. It was started in 2001 by David Szafranski in order to provide aWindowsexclusive version of theXBasicdialect. XBLite is released under theGNU GPLlicensing scheme,Standard librariesare released under theGNU LGPLlicensing scheme.

The XBLite syntax is very similar to that of XBasic and somewhat similar toMicrosoft'sQuickBASICin that it is aprocedural languagecapable of subs and functions. XBLite also has 64 bit integer data type, User Defined Types and the ability to have multiple modules in order to create GUI applications or games.

XBLite History

[edit]

XBLiteis a project that was started back in 2001. The main idea was to create a language that was based on theXBasicproject that was to be exclusively a Microsoft Windows only programming language and environment. The first official release (version 1.0.0) was announced in October 2002, and subsequent versions were spread out amongst the last 6 years of development. Each release boasted both bug fixes and new features (to either the language itself and/or the different tools that are available with the XBLite project).

Today, version 2.4.0 is the current release of the compiler and version 1.30 of XSEd (The code editor). One of the latest projects is a visual GUI designer called viXen.

XBLite Development Specific Events

[edit]
Screenshot of the XSEd editor, used with the XBLite programming language.
  • A project calledxpeeperis currently being developed by the XBLite team. This aims to givePeephole optimizationtechnology to the XBLite project. The project has been distributed with XBLite since XBLite version 2.3.0. As well, XBLite is itself written in XBLite, making it aself hostingcompiler (it can compile itself). Since version 2.1.0, XBLite incorporates theM4 preprocessortool.
  • XSEd, the code editor available with XBLite was developed in XBLite. It is based on theScintillaproject, a widely used editing component. XSEd is a full featured editor that allows users to work with XBLite source code modules and allows them to compile the code right from the editor.
  • Open-source project, viXen was originally created by John "prujohn" Evans, who released version 0.50a on July 22, 2006. It is aWYSIWYGscreen designer and an XBLite generator: viXen allows users to prototype a Windows GUI application before coding in XBLite the actual functions inside the generated skeleton. Currently, Guy Lonné develops and maintains the viXen project at SourceForge.
  • XBLite working with the native WindowsAPI,Callum Lowcay started the WinX project. It is a GUI library (WinX.dll) written in XBLite that "wraps" many of the most usefulWinAPIcalls. WinX simplifies coding Windows GUI applications in XBLite by providing an interface to the Windows widgets. WinX's applications can be first prototyped using viXen by just selecting the generation switch "Use WinX" prior the generation of the source code.

Components

[edit]

XBLite comes with a complete set of components.

Sample Code

[edit]

Here is a classic example as it might be coded in XBLite.

  • Hello world programin XBLite, console mode
    PROGRAM"hello"
    CONSOLE
    DECLAREFUNCTIONEntry()
    FUNCTIONEntry()
    a$=INLINE$("Hello World!\n\n\n Press Enter to quit")
    ENDFUNCTION
    ENDPROGRAM
    
  • Hello world programin XBLite, Windows GUI mode
    PROGRAM"sayhello"
    ' interfaces to system DLLs
    IMPORT"gdi32"' importing interface to gdi32.dll
    IMPORT"user32"' importing interface to user32.dll
    DECLAREFUNCTIONEntry()' declare function Entry()
    
    FUNCTIONEntry()' define (instantiate) function Entry()
    ' display a message box and wait until the user clicks the 'OK!' button
    MessageBoxA(0,&"Hello world!",&"Windows GUI Version",$$MB_OK)
    ENDFUNCTION
    ENDPROGRAM
    

References

[edit]
[edit]