当前位置:网站首页>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
边栏推荐
- Altium designer 19.1.18 - change the transparency of copper laying
- Class of color image processing based on Halcon learning_ ndim_ norm. hdev
- Semiconductor devices (III) FET
- Baiwen 7-day smart home learning experience of Internet of things
- Altium designer 19.1.18 - Import frame
- Introduction of air gap, etc
- Global and Chinese markets for flexible endoscopic lithotripsy devices 2022-2028: Research Report on technology, participants, trends, market size and share
- UEFI development learning 6 - creation of protocol
- . Net service governance flow limiting middleware -fireflysoft RateLimit
- Some thoughts on extracting perspectives from ealfa and Ebeta
猜你喜欢
![C WinForm [get file path -- traverse folder pictures] - practical exercise 6](/img/8b/1e470de4e4ecd4fd1bb8e5cf23f466.jpg)
C WinForm [get file path -- traverse folder pictures] - practical exercise 6

Network communication process
![C WinForm [change the position of the form after running] - Practical Exercise 4](/img/f7/ddaf5773295ca6929d39d7aa760d36.jpg)
C WinForm [change the position of the form after running] - Practical Exercise 4

1-stm32 operation environment construction

After installing the new version of keil5 or upgrading the JLINK firmware, you will always be prompted about the firmware update

Create inf module in AMI code
![[trio basic tutorial 16 from introduction to proficiency] UDP communication test supplement](/img/54/78e4e10724b2762274b06debb10877.jpg)
[trio basic tutorial 16 from introduction to proficiency] UDP communication test supplement

Altium Designer 19.1.18 - 清除测量距离产生的信息

Hardware and software solution of FPGA key chattering elimination

A simple method to prove 1/t Fourier transform
随机推荐
Network communication process
Markdown tips
How to define guid in AMI code
Acwing-宠物小精灵之收服-(多维01背包+正序倒序+两种形式dp求答案)
How to select conductive slip ring
UEFI development learning 6 - creation of protocol
Drive LED -- GPIO control
Altium Designer 19.1.18 - 更改铺铜的透明度
Pointnet++ classification practice
Summary -st2.0 Hall angle estimation
UEFI development learning 5 - simple use of protocol
Hardware 3 -- function of voltage follower
Altium Designer 19.1.18 - 隐藏某一个网络的飞线
Create inf module in AMI code
Wifi-802.11 negotiation rate table
Sql Server的存储过程详解
Some thoughts on extracting perspectives from ealfa and Ebeta
Correlation based template matching based on Halcon learning [II] find_ ncc_ model_ defocused_ precision. hdev
Can't find real-time chat software? Recommend to you what e-commerce enterprises are using!
1089 Insert or Merge 含测试点5