A simple scripting language in C++
Ferenc Szontágh
2025-04-19 c8f8dbada301cd66d8c40cd0bd8ea0e8ae669644
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# JSON Encode/Decode Feature Test
# Define an object with nested data
object $user = {
    string name: "Alice",
    int age: 30,
    boolean active: true,
    object prefs: {
        string theme: "dark",
        boolean notifications: false
    }
};
 
// Encode to JSON string
string $json = json_encode($user);
printnl("Encoded JSON: ", $json);
 
// Decode back to object
object $parsed = json_decode($json);
// Re-encode to verify round-trip
string $json2 = json_encode($parsed);
printnl("Re-encoded JSON: ", $json2);
// --- Simple value tests ---
// Integer
int $num = 42;
string $num_json = json_encode($num);
printnl("Encoded integer: ", $num_json);
int $num_decoded = json_decode($num_json);
printnl("Decoded integer: ", $num_decoded);
 
// String
string $str = "Hello, VoidScript!";
string $str_json = json_encode($str);
printnl("Encoded string: ", $str_json);
string $str_decoded = json_decode($str_json);
printnl("Decoded string: ", $str_decoded);
 
// Boolean
boolean $flag = true;
string $flag_json = json_encode($flag);
printnl("Encoded boolean: ", $flag_json);
boolean $flag_decoded = json_decode($flag_json);
printnl("Decoded boolean: ", $flag_decoded);
 
// Double
double $pi = 3.14159;
string $pi_json = json_encode($pi);
printnl("Encoded double: ", $pi_json);
double $pi_decoded = json_decode($pi_json);
printnl("Decoded double: ", $pi_decoded);