From f6e9f9fbb1c1673bb35ab95daa2a3fb6e3d44751 Mon Sep 17 00:00:00 2001 From: paladin-t Date: Fri, 4 Dec 2015 11:26:42 +0800 Subject: [PATCH] +added structures for class development; *updated readme doc; *updated exe icon. --- HISTORY | 4 ++ README.md | 40 +++++++++-------- core/my_basic.c | 103 ++++++++++++++++++++++++++++++++++++-------- core/my_basic.h | 13 +++++- output/my_basic.exe | Bin 121344 -> 327168 bytes shell/main.c | 4 ++ 6 files changed, 129 insertions(+), 35 deletions(-) diff --git a/HISTORY b/HISTORY index 9a04127..0618bc5 100755 --- a/HISTORY +++ b/HISTORY @@ -1,3 +1,7 @@ +Dec. 4 2015 +Updated icon +Added structures for class development + Nov. 30 2015 Improved stability for sub routine Improved error handling with shell diff --git a/README.md b/README.md index 4d247c9..db1bbf8 100755 --- a/README.md +++ b/README.md @@ -2,17 +2,21 @@ **Copyright (C) 2011 - 2015 [Wang Renxin](https://cn.linkedin.com/pub/wang-renxin/43/494/20). All rights reserved.** -Why are existing script interpreters so complex? Why is it so difficult to integrate with them? Why not try MY-BASIC today! Scripting should be simple and enjoyable. +Why are existing script interpreters so complex? Why is it so difficult to integrate with them? Why not try MY-BASIC today! Script should be simple and enjoyable. ## Build status [![Build Status](https://travis-ci.org/paladin-t/my_basic.svg?branch=master)](https://travis-ci.org/paladin-t/my_basic) +## Development status + +* Class support under development + ## Contents * [Introduction](#introduction) * [Main features](#main-features) -* [Scripting at a glance](#scripting-at-a-glance) +* [Script at a glance](#script-at-a-glance) * [Interpreter workflow diagram](#interpreter-workflow-diagram) * [Installation](#installation) * [Wiki](#wiki) @@ -20,22 +24,22 @@ Why are existing script interpreters so complex? Why is it so difficult to integ ## Introduction -MY-BASIC is a lightweight cross-platform easy extendable BASIC interpreter written in pure C with about 10,000 lines of source code. Its grammar is similar to structured BASIC. It is aimed to be either an embeddable scripting language or a standalone interpreter. The core is pretty light; all in a C source file and an associated header file. You are able to easily combine MY-BASIC with an existing project in C, C++, Objective-C, etc. Scripting driven can make your projects more powerful, elegant and neat. +MY-BASIC is a lightweight cross-platform easy extendable BASIC interpreter written in pure C with about 10,000 lines of source code. Its grammar is similar to structured BASIC. It is aimed to be either an embeddable scripting language or a standalone interpreter. The core is pretty light; all in a C source file and an associated header file. It's able to easily combine MY-BASIC with an existing project in C, C++, Objective-C, etc. Script driven can make your projects more powerful, elegant and neat. ## Main features * It is totally **free** to use MY-BASIC for individual or commercial purpose under the MIT license -* Written in clean **ANSI C**, source code portable +* Written in clean **ANSI C**, source code is portable for a dozen of platforms * With most common BASIC syntax * **Lightweight** (within memory usage less than 128KB) and fast * Case-insensitive tokenization * Integer, float point, string, boolean, user defined data types, etc. with array support +* Standard numeric functions, and standard string functions * Referenced usertype support * Collection implementation and manipulation functions for **`LIST`** and **`DICT`** -* Automatic releasing of referenced objects (list, dictionary, referenced usertype, etc.) benefited from **Reference Counting** and **GC** -* Standard numeric functions, and standard string functions +* Automatic releasing of referenced objects (list, dictionary, referenced usertype, etc.) benefited from **Reference Counting** and **Garbage Collection** * Multiple file support by `IMPORT` statement -* Structured user costomized **sub** routine definition by **`DEF/ENDDEF`** support, including tail recursion optimization +* Structured user customizable **sub** routine definition by **`DEF/ENDDEF`** support, including tail recursion optimization * Structured `IF-THEN-ELSEIF-ELSE-ENDIF` support * Structured `FOR-TO-STEP-NEXT/WHILE-WEND/DO-UNTIL` support * `GOTO/GOSUB-RETURN` support @@ -44,10 +48,10 @@ MY-BASIC is a lightweight cross-platform easy extendable BASIC interpreter writt * High expansibility, easy to use APIs, easy to write customized scripting interfaces * It's able to use it as a standalone interpreter, or integrate it with existing projects in C, C++, Objective-C, etc. * It's able to learn how to build an interpreter from scratch with MY-BASIC -* It's able to build your own dialect based on MY-BASIC +* It's able to build your own dialect easily based on MY-BASIC * More features/modules under developing -## Scripting at a glance +## Script at a glance Come along with a traditional "hello world" script in MY-BASIC: @@ -75,20 +79,20 @@ Read the [MY-BASIC Quick Reference](MY-BASIC%20Quick%20Reference.pdf) (especiall This repository contains precompiled binaries for [Windows](output/my_basic.exe) and [OS X](output/my_basic_mac), it's efficient to download it and have a first impressive playground. Or you could make a build as follow. * Open the Visual Studio solution `my_basic.sln` on Windows to build an executable -* Open the XCode solution `my_basic_mac.xcodeproj` on OS X to build an OS X executable -* Use the `makefile` with "make" toolchain to build an interpreter binary according to your platform +* Open the Xcode solution `my_basic_mac.xcodeproj` on OS X to build an OS X executable +* If you are not using VS or Xcode, use the `makefile` with a "make" toolchain to build an interpreter binary according to your own platform To compile an interpreter binary for your own platform manually, please follow the steps. -* Retrieve at least `core` and `shell` folders for minimum build -* Setup your compile toolchain configuration -* Use your compiler to compile `core/my_basic.c` and `shell/main.c`, including `core/my_basic.h` is required for both source files, then link up your own executable +1. Retrieve at least `core` and `shell` folders for minimum build +2. Setup your compile toolchain configuration +3. Use your compiler to compile `core/my_basic.c` and `shell/main.c`, including `core/my_basic.h` is required for both source files, then link up your own executable The standalone interpreter supports three modes. -* Execute the binary directly without arguments to interactive with MY-BASIC +* Execute the binary directly without arguments to enter MY-BASIC interactive mode * Pass a file path to the binary to load and run that script file -* Pass an argument `-e` and an expression to evaluate and print it, eg. `-e "2 * (3 + 4)"` +* Pass an argument `-e` followed by an expression to evaluate and print it, eg. `-e "2 * (3 + 4)"` ### Combine with exist projects @@ -96,10 +100,12 @@ MY-BASIC is cleanly written in a single C source file and an associated header f You can definitely [link with MY-BASIC as a lib](https://github.com/paladin-t/my_basic/wiki/Link-with-MY_BASIC) as well. -For more details about using MY-BASIC when it's already integrated with exist projects, please see [MY-BASIC Quick Reference](MY-BASIC%20Quick%20Reference.pdf). +For more details about using MY-BASIC when it's already integrated with a project, please see [MY-BASIC Quick Reference](MY-BASIC%20Quick%20Reference.pdf). ## [Wiki](https://github.com/paladin-t/my_basic/wiki) +Most of the fundamental topics are mentioned in the [MY-BASIC Quick Reference](MY-BASIC%20Quick%20Reference.pdf). There are some other scattered topics besides these aspects, such as the desine principle, machinism behind MY-BASIC, effective practice, etc; they are issued in the [Wiki](https://github.com/paladin-t/my_basic/wiki). + * Principles * [Passes](https://github.com/paladin-t/my_basic/wiki/Passes) * [Interpreter workflow diagram](https://github.com/paladin-t/my_basic/wiki/Interpreter-workflow-diagram) diff --git a/core/my_basic.c b/core/my_basic.c index 28eff57..e71ed84 100755 --- a/core/my_basic.c +++ b/core/my_basic.c @@ -81,7 +81,7 @@ extern "C" { /** Macros */ #define _VER_MAJOR 1 #define _VER_MINOR 1 -#define _VER_REVISION 101 +#define _VER_REVISION 102 #define _VER_SUFFIX #define _MB_VERSION ((_VER_MAJOR * 0x01000000) + (_VER_MINOR * 0x00010000) + (_VER_REVISION)) #define _STRINGIZE(A) _MAKE_STRINGIZE(A) @@ -229,6 +229,7 @@ static const char* _ERR_DESC[] = { "Invalid routine", "Routine expected", "Duplicate routine", + "Invalid class", "Collection expected", "Iterator expected", "Collection or iterator expected", @@ -261,8 +262,10 @@ typedef enum _data_e { _DT_DICT_IT, #endif /* MB_ENABLE_COLLECTION_LIB */ _DT_LABEL, /* Label type, used for GOTO, GOSUB statement */ - _DT_ROUTINE, /* User defined sub routine in script */ +#ifdef MB_ENABLE_CLASS _DT_CLASS, /* Object instance */ +#endif /* MB_ENABLE_CLASS */ + _DT_ROUTINE, /* User defined sub routine in script */ _DT_SEP, /* Separator */ _DT_EOS /* End of statement */ } _data_e; @@ -357,14 +360,18 @@ typedef struct _label_t { _ls_node_t* node; } _label_t; +#ifdef MB_ENABLE_CLASS typedef struct _class_t { char* name; struct _running_context_t* scope; } _class_t; +#endif /* MB_ENABLE_CLASS */ typedef struct _routine_t { char* name; +#ifdef MB_ENABLE_CLASS _class_t* instance; +#endif /* MB_ENABLE_CLASS */ struct _running_context_t* scope; _ls_node_t* entry; _ls_node_t* parameters; @@ -396,8 +403,10 @@ typedef struct _object_t { _dict_it_t* dict_it; #endif /* MB_ENABLE_COLLECTION_LIB */ _label_t* label; - _routine_t* routine; +#ifdef MB_ENABLE_CLASS _class_t* instance; +#endif /* MB_ENABLE_CLASS */ + _routine_t* routine; char separator; mb_val_bytes_t bytes; _raw_t raw; @@ -440,7 +449,9 @@ MBAPI const size_t MB_SIZEOF_ARR = _MB_MEM_TAG_SIZE + sizeof(_array_t); MBAPI const size_t MB_SIZEOF_VAR = _MB_MEM_TAG_SIZE + sizeof(_var_t); MBAPI const size_t MB_SIZEOF_LBL = _MB_MEM_TAG_SIZE + sizeof(_label_t); MBAPI const size_t MB_SIZEOF_RTN = _MB_MEM_TAG_SIZE + sizeof(_routine_t); +#ifdef MB_ENABLE_CLASS MBAPI const size_t MB_SIZEOF_CLS = _MB_MEM_TAG_SIZE + sizeof(_class_t); +#endif /* MB_ENABLE_CLASS */ #else /* MB_ENABLE_ALLOC_STAT */ MBAPI const size_t MB_SIZEOF_INT = sizeof(int); MBAPI const size_t MB_SIZEOF_PTR = sizeof(intptr_t); @@ -453,7 +464,9 @@ MBAPI const size_t MB_SIZEOF_ARR = sizeof(_array_t); MBAPI const size_t MB_SIZEOF_VAR = sizeof(_var_t); MBAPI const size_t MB_SIZEOF_LBL = sizeof(_label_t); MBAPI const size_t MB_SIZEOF_RTN = sizeof(_routine_t); +#ifdef MB_ENABLE_CLASS MBAPI const size_t MB_SIZEOF_CLS = sizeof(_class_t); +#endif /* MB_ENABLE_CLASS */ #endif /* MB_ENABLE_ALLOC_STAT */ #ifdef MB_ENABLE_SOURCE_TRACE @@ -1150,9 +1163,11 @@ static unsigned _unref(_ref_t* ref, void* data); static void _create_ref(_ref_t* ref, _unref_func_t dtor, _data_e t, mb_interpreter_t* s); static void _destroy_ref(_ref_t* ref); +#ifdef MB_ENABLE_CLASS static void _init_class(mb_interpreter_t* s, _class_t* instance, char* n); static void _begin_class(mb_interpreter_t* s); -static void _end_class(mb_interpreter_t* s); +static bool_t _end_class(mb_interpreter_t* s); +#endif /* MB_ENABLE_CLASS */ static void _init_routine(mb_interpreter_t* s, _routine_t* routine, char* n); static void _begin_routine(mb_interpreter_t* s); static bool_t _end_routine(mb_interpreter_t* s); @@ -1415,8 +1430,10 @@ static const _func_t _core_libs[] = { { "CALL", _core_call }, { "DEF", _core_def }, { "ENDDEF", _core_enddef }, +#ifdef MB_ENABLE_CLASS { "CLASS", _core_class }, { "ENDCLASS", _core_endclass }, +#endif /* MB_ENABLE_CLASS */ #ifdef MB_ENABLE_ALLOC_STAT { "MEM", _core_mem }, @@ -3211,7 +3228,13 @@ int _create_symbol(mb_interpreter_t* s, _ls_node_t* l, char* sym, _object_t** ob /* Create a syntax symbol */ int result = MB_FUNC_OK; _data_e type; - union { _func_t* func; _array_t* array; _class_t* instance; _routine_t* routine; _var_t* var; _label_t* label; real_t float_point; int_t integer; _raw_t any; } tmp; + union { + _func_t* func; _array_t* array; +#ifdef MB_ENABLE_CLASS + _class_t* instance; +#endif /* MB_ENABLE_CLASS */ + _routine_t* routine; _var_t* var; _label_t* label; real_t float_point; int_t integer; _raw_t any; + } tmp; _raw_t value; unsigned int ul = 0; _parsing_context_t* context = 0; @@ -3304,6 +3327,7 @@ int _create_symbol(mb_interpreter_t* s, _ls_node_t* l, char* sym, _object_t** ob } break; +#ifdef MB_ENABLE_CLASS case _DT_CLASS: glbsyminscope = _search_identifier_in_scope_chain(s, 0, sym); if(glbsyminscope && ((_object_t*)(glbsyminscope->data))->type == _DT_CLASS) { @@ -3332,6 +3356,7 @@ int _create_symbol(mb_interpreter_t* s, _ls_node_t* l, char* sym, _object_t** ob } break; +#endif /* MB_ENABLE_CLASS */ case _DT_ROUTINE: glbsyminscope = _search_identifier_in_scope_chain(s, 0, sym); if(glbsyminscope && ((_object_t*)(glbsyminscope->data))->type == _DT_ROUTINE) { @@ -3563,6 +3588,7 @@ _end_import: goto _exit; } /* _class_t */ +#ifdef MB_ENABLE_CLASS if(context->last_symbol) { glbsyminscope = _search_identifier_in_scope_chain(s, 0, sym); if(glbsyminscope && ((_object_t*)glbsyminscope->data)->type == _DT_CLASS) { @@ -3581,26 +3607,28 @@ _end_import: goto _exit; } if(glbsyminscope && ((_object_t*)(glbsyminscope->data))->type == _DT_VAR) { - tmp.obj = (_object_t*)(glbsyminscope->data); - if(!tmp.obj->ref) { - _ht_remove(running->var_dict, sym, _ls_cmp_extra_string); - _dispose_object(tmp.obj); + _handle_error_now(s, SE_RN_INVALID_CLASS, 0, MB_FUNC_ERR); + + goto _exit; + } + + if(_IS_FUNC(context->last_symbol, _core_def)) { + if(context->routine_state > 1) { + _handle_error_now(s, SE_RN_INVALID_CLASS, 0, MB_FUNC_ERR); + + goto _exit; } - tmp.obj->type = _DT_CLASS; - tmp.obj->data.instance = (_class_t*)mb_malloc(sizeof(_class_t)); - _init_class(s, tmp.obj->data.instance, sym); - _init_class(s, tmp.obj->data.instance, sym); - _ht_set_or_insert(running->var_dict, sym, tmp.obj); } result = _DT_CLASS; goto _exit; } else if(_IS_FUNC(context->last_symbol, _core_endclass)) { - _end_class(s); - _pop_scope(s); + if(_end_class(s)) + _pop_scope(s); } } +#endif /* MB_ENABLE_CLASS */ /* _routine_t */ if(context->last_symbol) { glbsyminscope = _search_identifier_in_scope_chain(s, 0, sym); @@ -5080,6 +5108,7 @@ void _destroy_ref(_ref_t* ref) { ref->on_unref = 0; } +#ifdef MB_ENABLE_CLASS void _init_class(mb_interpreter_t* s, _class_t* instance, char* n) { /* Initialize a class */ _running_context_t* running = 0; @@ -5105,15 +5134,23 @@ void _begin_class(mb_interpreter_t* s) { context->class_state++; } -void _end_class(mb_interpreter_t* s) { +bool_t _end_class(mb_interpreter_t* s) { /* End parsing a class */ _parsing_context_t* context = 0; mb_assert(s); context = s->parsing_context; + if(!context->class_state) { + _handle_error_now(s, SE_RN_INVALID_CLASS, 0, MB_FUNC_ERR); + + return false; + } context->class_state--; + + return true; } +#endif /* MB_ENABLE_CLASS */ void _init_routine(mb_interpreter_t* s, _routine_t* routine, char* n) { /* Initialize a routine */ @@ -5454,10 +5491,12 @@ int _clone_object(_object_t* obj, _object_t* tgt) { tgt->data.label->node = obj->data.label->node; break; +#ifdef MB_ENABLE_CLASS case _DT_CLASS: mb_assert(0 && "Not implemented"); break; +#endif /* MB_ENABLE_CLASS */ case _DT_ROUTINE: mb_assert(0 && "Not implemented"); @@ -5545,6 +5584,7 @@ int _dispose_object(_object_t* obj) { } break; +#ifdef MB_ENABLE_CLASS case _DT_CLASS: if(!obj->ref) { safe_free(obj->data.instance->name); @@ -5555,6 +5595,7 @@ int _dispose_object(_object_t* obj) { } break; +#endif /* MB_ENABLE_CLASS */ case _DT_ROUTINE: if(!obj->ref) { safe_free(obj->data.routine->name); @@ -5796,6 +5837,10 @@ _data_e _public_type_to_internal_type(mb_data_e t) { case MB_DT_DICT_IT: return _DT_DICT_IT; #endif /* MB_ENABLE_COLLECTION_LIB */ +#ifdef MB_ENABLE_CLASS + case MB_DT_CLASS: + return _DT_CLASS; +#endif /* MB_ENABLE_CLASS */ case MB_DT_ROUTINE: return _DT_ROUTINE; default: @@ -5832,6 +5877,10 @@ mb_data_e _internal_type_to_public_type(_data_e t) { case _DT_DICT_IT: return MB_DT_DICT_IT; #endif /* MB_ENABLE_COLLECTION_LIB */ +#ifdef MB_ENABLE_CLASS + case _DT_CLASS: + return MB_DT_CLASS; +#endif /* MB_ENABLE_CLASS */ case _DT_ROUTINE: return MB_DT_ROUTINE; default: @@ -5911,6 +5960,11 @@ int _public_value_to_internal_object(mb_value_t* pbl, _object_t* itn) { break; #endif /* MB_ENABLE_COLLECTION_LIB */ +#ifdef MB_ENABLE_CLASS + case MB_DT_CLASS: + itn->type = _DT_CLASS; + itn->data.instance = (_class_t*)pbl->value.instance; +#endif /* MB_ENABLE_CLASS */ case MB_DT_ROUTINE: itn->type = _DT_ROUTINE; itn->data.routine = (_routine_t*)pbl->value.routine; @@ -5993,6 +6047,13 @@ int _internal_object_to_public_value(_object_t* itn, mb_value_t* pbl) { break; #endif /* MB_ENABLE_COLLECTION_LIB */ +#ifdef MB_ENABLE_CLASS + case _DT_CLASS: + pbl->type = MB_DT_CLASS; + pbl->value.instance = itn->data.instance; + + break; +#endif /* MB_ENABLE_CLASS */ case _DT_ROUTINE: pbl->type = MB_DT_ROUTINE; pbl->value.routine = itn->data.routine; @@ -6187,10 +6248,12 @@ int _execute_statement(mb_interpreter_t* s, _ls_node_t** l) { _handle_error_on_obj(s, SE_RN_INVALID_EXPRESSION, 0, DON(ast), MB_FUNC_ERR, _exit, result); break; +#ifdef MB_ENABLE_CLASS case _DT_CLASS: mb_assert(0 && "Not implemented"); break; +#endif /* MB_ENABLE_CLASS */ case _DT_ROUTINE: ast = ast->prev; result = _core_call(s, (void**)(&ast)); @@ -8175,6 +8238,12 @@ const char* mb_get_type_string(mb_data_e t) { case MB_DT_DICT_IT: return "DICT_ITERATOR"; #endif /* MB_ENABLE_COLLECTION_LIB */ +#ifdef MB_ENABLE_CLASS + case MB_DT_CLASS: + return "CLASS"; +#endif /* MB_ENABLE_CLASS */ + case MB_DT_ROUTINE: + return "ROUTINE"; default: return "UNKNOWN"; } diff --git a/core/my_basic.h b/core/my_basic.h index f4c1a32..2af4b7a 100755 --- a/core/my_basic.h +++ b/core/my_basic.h @@ -81,6 +81,10 @@ extern "C" { # define MB_ENABLE_MODULE #endif /* MB_ENABLE_MODULE */ +#ifndef MB_ENABLE_CLASS +# define MB_ENABLE_CLASS +#endif /* MB_ENABLE_CLASS */ + #ifndef MB_COMPACT_MODE # define MB_COMPACT_MODE #endif /* MB_COMPACT_MODE */ @@ -309,6 +313,7 @@ typedef enum mb_error_e { SE_RN_INVALID_ROUTINE, SE_RN_ROUTINE_EXPECTED, SE_RN_DUPLICATE_ROUTINE, + SE_RN_INVALID_CLASS, SE_RN_COLLECTION_EXPECTED, SE_RN_ITERATOR_EXPECTED, SE_RN_COLLECTION_OR_ITERATOR_EXPECTED, @@ -337,7 +342,10 @@ typedef enum mb_data_e { MB_DT_DICT = 1 << 15, MB_DT_DICT_IT = 1 << 16, #endif /* MB_ENABLE_COLLECTION_LIB */ - MB_DT_ROUTINE = 1 << 24 +#ifdef MB_ENABLE_CLASS + MB_DT_CLASS = 1 << 24, +#endif /* MB_ENABLE_CLASS */ + MB_DT_ROUTINE = 1 << 25 } mb_data_e; typedef unsigned char mb_val_bytes_t[sizeof(void*)]; @@ -356,6 +364,9 @@ typedef union mb_value_u { void* dict; void* dict_it; #endif /* MB_ENABLE_COLLECTION_LIB */ +#ifdef MB_ENABLE_CLASS + void* instance; +#endif /* MB_ENABLE_CLASS */ void* routine; mb_val_bytes_t bytes; } mb_value_u; diff --git a/output/my_basic.exe b/output/my_basic.exe index 52ad1dd72d7095ff4d0a58d706af4331aa350ad1..2099e2273753478f4401c09a83f10b8496685fa6 100755 GIT binary patch literal 327168 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

i%Snvp>noij7Wa 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 cTGVnph|fv)QkOQt}1MPok)Em9GV1 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 diff --git a/shell/main.c b/shell/main.c index 9d60afc..b04de1d 100755 --- a/shell/main.c +++ b/shell/main.c @@ -125,7 +125,11 @@ extern MBAPI const size_t MB_SIZEOF_ARR; extern MBAPI const size_t MB_SIZEOF_VAR; extern MBAPI const size_t MB_SIZEOF_LBL; extern MBAPI const size_t MB_SIZEOF_RTN; +#ifdef MB_ENABLE_CLASS extern MBAPI const size_t MB_SIZEOF_CLS; +#else /* MB_ENABLE_CLASS */ +static const size_t MB_SIZEOF_CLS = 20; +#endif /* MB_ENABLE_CLASS */ typedef unsigned _pool_chunk_size_t;