当前位置:网站首页>My-basic application 1: introduction to my-basic parser
My-basic application 1: introduction to my-basic parser
2022-07-05 08:03:00 【Changjiang houlang blog】
MY-BASIC is a lightweight BASIC interpreter written in standard C in dual files.
//MY-BASIC It's a lightweight BASIC Interpreter , Using standard C Language is written in two files .
It's aimed to be embeddable, extendable and portable.
// Its goal is to be embeddable 、 Scalable and portable .
It is a dynamic typed programming language,reserves structured syntax,
// It's a dynamically typed programming language , Preserve structured syntax
supports a style of prototype-based programming (OOP),
// Support a prototype based programming style (OOP)
also implements a functional paradigm by lambda abstraction.
// And through lambda Abstract realization of function paradigm .
The core is written in a C source file and an associated header file.
// The core is in a C Source file and a related header file .
It's easy to either use it as a standalone interpreter or embed it with existing projects in C, C++, Java, Objective-C, Swift, C#, etc.
and totally customizable by adding your own scripting interfaces.
It can be used as an independent interpreter ,
It can also be embedded into existing C、c++、Java、Objective-C、Swift、c# Etc ,
And it can be completely customized by adding its own script interface .
Main features
Main features
MY-BASIC offers a wide range of features including:
MY-BASIC Provide a wide range of functions , as follows :
Written in standard C, source code is portable to a dozen of platforms
// Using standard C The source code can be ported to more than a dozen platforms
Lightweight (within less than 128KB footprint), fast, and configurable
// Lightweight ( Less than 128KB Memory footprint )、 Fast and configurable
With both retro and modern BASIC syntax
// With retro and modern basic grammar
Case-insensitive tokenization, and many other indelible BASIC flavour
// Case insensitive tags , And many others BASIC Indelible elements
Unicode support
//Unicode Support
Prototype-based programming, with reflection support
// Prototype based programming , Support reflection
Lambda abstraction enhanced functional programming
//Lambda Abstraction enhances functional programming
Customizable referenced/non-referenced usertype
// Customizable references / Non reference usertype
Collection construction and manipulation functions for LIST and DICT
// For lists and DICT Set construction and operation functions of
Automatic releasing for referenced values (prototype, lambda, referenced usertype, list, dictionary, etc.) benefited from reference counting and garbage collection
// For reference value ( Prototype 、lambda、 Refer to the usertype、 list 、 Dictionary, etc ) The automatic release of benefits from reference counting and garbage collection
Common numeric and string functions
// Common numeric and string functions
Structured sub routine definition with the DEF/ENDDEF statements
// Use DEF/ENDDEF Statement defines a structured subroutine
Structured IF/THEN/ELSEIF/ELSE/ENDIF
// structure :IF/THEN/ELSEIF/ELSE/ENDIF
Structured FOR/TO/STEP/NEXT, FOR/IN/NEXT, WHILE/WEND, DO/UNTIL
// structure :FOR/TO/STEP/NEXT, FOR/IN/NEXT, WHILE/WEND, DO/UNTIL
Reserved retro GOTO, GOSUB/RETURN
// Preserved retro GOTO, GOSUB/RETURN
Importing multiple source files with the IMPORT statement
// Use IMPORT Statement to import multiple source files
Debug API
// debugging API
Customizable memory pool
// Customizable memory pool
Easy API, for extending new BASIC functions
// ordinary API, Used to extend new basic functions
Easy interacting BASIC facilities at native side, and vice versa
// Easy to interact with basic facilities on the local side , vice versa
More features under development
// More features are under development
边栏推荐
- Improve lighting C program
- Volatile of C language
- MySQL blind note common functions
- C WinForm [change the position of the form after running] - Practical Exercise 4
- C WinForm [display real-time time in the status bar] - practical exercise 1
- Sql Server的存储过程详解
- Live555 RTSP audio and video streaming summary (II) modify RTSP server streaming URL address
- Global and Chinese market of rammers 2022-2028: Research Report on technology, participants, trends, market size and share
- UEFI development learning 3 - create UEFI program
- Consul安装
猜你喜欢
Measurement fitting based on Halcon learning [i] fuse Hdev routine
UEFI development learning 2 - running ovmf in QEMU
C WinForm [exit application] - practice 3
Can't find real-time chat software? Recommend to you what e-commerce enterprises are using!
The firmware of the connected j-link does not support the following memory access
Hardware 3 -- function of voltage follower
Ten thousand words detailed eight sorting must read (code + dynamic diagram demonstration)
Record the opening ceremony of Beijing Winter Olympics with display equipment
Shape template matching based on Halcon learning [viii] PM_ multiple_ models. Hdev routine
Measurement fitting based on Halcon learning [III] PM_ measure_ board. Hdev routine
随机推荐
UEFI development learning 5 - simple use of protocol
Bluetooth hc-05 pairing process and precautions
Shell脚本基本语法
Consul安装
1-stm32 operation environment construction
The global and Chinese market of lithographic labels 2022-2028: Research Report on technology, participants, trends, market size and share
UEFI development learning 4 - getting to know variable services
Correlation based template matching based on Halcon learning [II] find_ ncc_ model_ defocused_ precision. hdev
Hardware and software solution of FPGA key chattering elimination
Altium designer 19.1.18 - change the transparency of copper laying
Cadence simulation encountered "input.scs": can not open input file change path problem
C, Numerical Recipes in C, solution of linear algebraic equations, LU decomposition source program
Shape template matching based on Halcon learning [v] find_ cocoa_ packages_ max_ deformation. Hdev routine
如何进行导电滑环选型
C language enhancement -- pointer
Matlab2018b problem solving when installing embedded coder support package for stmicroelectronic
Realization of binary relation of discrete mathematics with C language and its properties
[professional literacy] core conferences and periodicals in the field of integrated circuits
Live555 RTSP audio and video streaming summary (II) modify RTSP server streaming URL address
Global and Chinese markets of large aperture scintillators 2022-2028: Research Report on technology, participants, trends, market size and share