Author: x39
Author Website: https://github.com/X39/sqf-vm

Version: Alpha 0.1.2

Short description: A fully working, open-source Virtual Machine for the scripting language of the ArmA Games.

Date: 2017-09-12 08:34


Comments: (0)
Rating:



 



SQF-VM

by
x39


Description:
A fully working, open-source Virtual Machine for the scripting language of the ArmA Games.

How to use this thing?
To start using the SQF-VM, you just have to double click the executable.

Are there command line parameters available to eg. use this for unit-testing?
Yes, there are. To get all, start the tool via command line and the parameter -?

What is supported?
To see what is supported in the specific build you are using, use the non-sqf compliant help command.
The output of that command for version Alpha 0.1.0

I entered SQF with invalid syntax and the VM is outputting gibberish
The SQF-VM project is not aiming to do any actual syntax checking.
The tool expects valid SQF as input and invalid syntax might result in invalid execution stacks.

I found a bug, what shall i do now?
First of all: if it is due to invalid syntax not getting reported correctly, nothing.
After that: Ensure all commands used are actually supported in your SQF-VM version using the help command
If it is not caused due to invalid syntax or a missing command in the SQF-VM, try to narrow down the problem as much as you can and then head over to the github issues section to report the bug.
The only exception to the above is a crash! Crashes you always can report

I got a question that is not answered in here, what to do?
Ask your question in this thread or in the discord channel and i might add it to this list


Installation:
Armaholic note:
.dll files can harm your PC! Before running this you should make sure you understand the risks!
Armaholic and its staff can never be held responsible when any file you download from our website causes any damages, disruption in services or anything else in any way! Downloading and installing these files is totally at your own risk!
We have run anti-virus tools on the included files and found no issues but this is no guarantee!

Armaholic note:
.exe files can harm your PC! Before running this you should make sure you understand the risks!
Armaholic and its staff can never be held responsible when any file you download from our website causes any damages, disruption in services or anything else in any way! Downloading and installing these files is totally at your own risk!
We have run anti-virus tools on the included files and found no issues but this is no guarantee!


Changelog:
alpha 0.1.2
Added more checks to FOR
fix
re-fixed endless attempt to parse empty blocks
Added Switch case do
Added ForEach
fixed parser
fix
Moved OBJECT type into its own file
fixed array parsing
Fixed array order
Added productversion
added missing comparison types to ==, added !=
Added velocity and setVelocity
Added getPos, position and setPos
Added typeOf
added setVariable & getVariable
malloc sizeof from pointer to actual struct
fixed invalid malloc sizeof
fixed copy-paste error
Added createVehicle
Added OBJECT type
fixed last token getting proper textrange info
fixed empty string not terminated segfault
unterminated strings are no longer trimmed by 2 chars
Added COUNT type to vm types

alpha 0.1.1
fixed strcmpi undefined
fixed warnings
fixed sm_get_value_index function
Added isEqualTo
Fixed warnings
renamed `COUNT` type to `COUNT__`
renamed `help` command to `help__`
Fixed issue caused by deallocated commands in code stacks on global variables
Cleaned up files
removed comment
Improved code_type performance
Added c function to compare two items for equality
Added set command
only admins now can execute commands
Added pushBack command
<ARRAY> select <ARRAY-SIZE> now properly pushes a nothing to the stack
Fixed empty value assignment crashing
Merge branch 'master' of https://github.com/X39/sqf-vm.git
fixed bot
replaced test 2k with 0
fixed index out of range for select; fixed zero divisor
fixed max length for buffer
Added decode to string to remove python bullshittery nonsense
fixed bot
added missing ')'
fixed python bot
removed unneeded vars
code fix
more code fixes
further fix
fixed error declaration & renamed to orig_error
Fixed buffer passing
fixed syntax
replaced tabs with spaces
updated python bot
Moved commands into separate file, added special print function to sqfvm
fixed format stringifying strings
removed unneeded variables from cmd_comment
fixed empty string concat
Now always including <limits.h>
Merge branch 'master' of https://github.com/X39/sqf-vm.git
fixed entry.c for gcc
Fixed MemoryLeaks
removed module feedparser
Added -s param to change the max instructions limit
fixed command callback ptr of comment function
added `comment` command
Added comment support to tokenizer
Added ^ and % to tokenizer
Added ^ command
Added alternative syntax to and & or
Added mod alias `%`
Fixed description of atan2, min, max and mod
fixed mod, max, min and atan2 being registered as unary commands instead of binary
Added `!` unary command
Updated help texts
changed build name

Alpha 0.1.0
-/-


Forum topic:
- BI forums




Enable javascript to be able to download from Armaholic please!



Tags: Tool,   Program,   Script,   Sqf