You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Also, a Library bundle with more example scripts is available in the download section as well.
17
17
18
18
# About TeaScript
19
-
**What is new in TeaScript 0.13.0?** TeaScript 0.13 comes with Buffer, U8, U64, bit ops, UTF-8 Iterator, hex integrals, MPL-2.0 license and more.<br>
19
+
**What is new in TeaScript 0.14.0?** TeaScript 0.14 comes with the Tea StackVM, a Compiler, Dis-/Assembler, Suspend+Continue, Yield, improved debugging and more.<br>
20
20
<br>Get all infos in the **latest news** article:<br>
- (automatically) **compile** and **execute** TeaScript files in the new **integrated Tea StackVM**.
25
+
-**Save** and **Load** compiled TeaScript programs as TeaScript Binary files (*.tsb).
26
+
-**Suspend** and **Continue** TeaScript programs at (nearly) any time by either themselves, by maximum time or instruction constraint or by an external request from another thread.
27
+
- Use TeaScript code similar like a **coroutine** in your C++ Application by yielding values from any place and **co-operative / preemptive execution** possibilities.
28
+
- Nerd feature: program directly in TeaScript **Assembler**.
29
+
- improved debugging capabilities with single stepping, view the callstack, view corresponding source code and more.
30
+
- Opt-out header only library for save includes and compile time
31
+
32
+
## General information
23
33
Get a very nice overview with the most **impressive highlights** here:<br>
More examples are in the [teascript_demo.cpp](demo/teascript_demo.cpp) of this repo.
152
+
More examples are in the [teascript_demo.cpp](demo/teascript_demo.cpp), [suspend_thread_demo.cpp](demo/suspend_thread_demo.cpp) and [coroutine_demo.cpp](demo/coroutine_demo.cpp) of this repo.
143
153
144
154
# Example TeaScript Code
145
155
@@ -276,10 +286,10 @@ For details see on [StackOverflow](https://stackoverflow.com/questions/15110580/
276
286
- Visual Studio 2019 also works (starting from 16.11.14)
277
287
278
288
g++ 11.3
279
-
-untested if g++ 10 or 9 could work as well.
289
+
-Use g++ 13 for all linux specific known issues are solved (see Known_Issues.txt)
280
290
281
291
clang 14 (with libstdc++ or libc++)
282
-
-untested if clang 13 could work as well.
292
+
-There are clang and/or libc++ specific known issues (see Known_Issues.txt)
283
293
284
294
Newer compilers should work in general.<br>
285
295
All compilers are compiling in **C++20** and for **x86_64**.<br>
@@ -290,7 +300,7 @@ All compilers are compiling in **C++20** and for **x86_64**.<br>
290
300
291
301
**None** -- for fully C++20 supporting compilers / C++ standard libraries.
292
302
293
-
**Libfmt (as header only)** -- for gcc 11 / clang 14 (tested with **libfmt 10.1.1** and **libfmt 9.1.0**)<br>
303
+
**Libfmt (as header only)** -- for gcc 11 / clang 14 (tested with **libfmt 10.2.1** and **libfmt 10.1.1**)<br>
294
304
- Libfmt can be downloaded here https://fmt.dev/latest/index.html <br>
295
305
You only need to set the include path in your project(s) / for compilation. Detection is then done automatically.
296
306
@@ -308,7 +318,7 @@ See Libfmt section above.
308
318
# Building the demo app
309
319
310
320
**Windows:** Use the provided VS-project or the settings in compile.props.
311
-
If you make a new project, you only need to add the teascript_demo.cpp file and
321
+
If you make a new project, you only need to add the files teascript_demo.cpp, suspend_thread_demo.cpp and coroutine_demo.cpp and
312
322
set the include path to /include/
313
323
314
324
**Linux:** Use the compile_gcc.sh or compile_clang.sh with prior updated include path to libfmt.
@@ -324,6 +334,14 @@ Linux:<br>
324
334
325
335
If you see **6** as the result everything is functional.
326
336
337
+
## Opt-out header only usage
338
+
339
+
The TeaScript C++ Library will be compiled as a header only library per default.
340
+
For save includes and compile time it is possible to opt-out header only compilation.
341
+
342
+
Please, read the instruction in the related release blog post here:
0 commit comments