-
Notifications
You must be signed in to change notification settings - Fork 118
FAQ
Q: What is MY-BASIC?
A: MY-BASIC is a lightweight cross-platform easy extendable interpreted BASIC implementation; It's fully implemented in pure C. It is aimed to be either an embeddable scripting language or a standalone interpreter.
Q: Why use MY-BASIC?
A: MY-BASIC is tiny, easy to embed and use, its grammar is friendly to newcomers, its features are powerful and helpful to old hand users, its C API is effectively retrenched. You could play with it for a minute, it won't take you much time to tell whether MY-BASIC is suitable to your requirements.
Q: Where can I learn some basic grammar about MY-BASIC?
A: MY-BASIC is a dynamic typed programming language. It supports structured grammar, and implements a style of OOP called prototype-based programming paradigm. It supports common modern programming concepts. Experiences on any other BASIC dialects will be helpful to understand and think in MY-BASIC. Anyway, necessary introductions are available in the MY-BASIC Quick Reference.
Q: Where can I get some samples?
A: There are some simple samples come along with the source code package, it's available in the sample folder.
Q: How is MY-BASIC documented?
A: You can download a latest MY-BASIC Quick Reference, it's a reference handbook for quick query. Some other principles and patterns are documented on the Wiki.
Q: Why do you put the implementation in a single file?
A: Because it feels extraordinarily tough.
Q: Where did MY-BASIC come from?
A: The project founder created MY-BASIC for his own need; Wang Renxin is a video game developer, before making MY-BASIC, he had been working with some other scripting libraries painfully. He decided to make his own scripting language one day when he was tired diving into those libraries' entangled APIs. MY-BASIC's grammar referenced the famous BASIC family because it was the primer language for Wang Renxin when he was teaching himself programming. He tended to make it easy to use, to embed, to maintain and to read, and kept it a free to use open source software; it appears some impressive milestones were established while approaching this goal.
Q: What platforms does MY-BASIC support?
A: Since MY-BASIC is written in C, We can almost say all the platforms with a C compiler would support it. Except some really old compilers which cannot even fully load the source code of MY-BASIC such as TC. MY-BASIC was tested to compile with some essential commercial or noncommercial compilers, such as GCC, Clang, TCC, PellesC, BCB, VC, etc. It would be easy to modify for those compilers which would prompt errors when compiling MY-BASIC, changing the header files including and substituting with equivalent library functions will solve the problem most of the time.
Q: How could I use MY-BASIC as a standalone interpreter?
A: A compiled binary for Windows and MacOS is available in the output folder. It would be easy to compile the source code directly to get a standalone interpreter for your own platform.
Q: How could I use MY-BASIC as an embedded scripting language?
A: MY-BASIC is implemented in a header file and a C source file, the easiest way to integrate MY-BASIC to your program is to copy these files to your project and compile them with it; or you may link MY-BASIC as a static/dynamic library as you wish.
Q: How about programming libraries?
A: MY-BASIC supplies a small set of frequently used functions as a standard library which provides some fundamental numeric, string and collection functions. You can see the "Core and Standard Libraries" and "Collection Libraries" section in the MY-BASIC Quick Reference for details. See the Wiki page to get information about more scripting APIs.
Q: How often does MY-BASIC update?
A: It's eventuality. I'm still adding new features, and keeping it as stable as possible.
Q: How could I get technical support?
A: Feel free to email the developer directly.
Q: How could I support MY-BASIC development?
A: Even though you can use MY-BASIC free under the MIT license, you could support MY-BASIC development with a donation: your generousness is appreciated.
- Principles
- Coding
- Data types
- Standalone shell
- Integration
- Customization
- More scripting API
- FAQ