{
  "schema_version": "1.0.0",
  "generated_at": "2026-07-30T10:41:21.474Z",
  "source_directory": "e2e_code_tests",
  "file_count": 16,
  "example_count": 122,
  "files": [
    {
      "path": "basic_gate/train-usage.json",
      "topic": "basic_gate",
      "variant": "train-usage",
      "examples": [
        {
          "question": "how to declare an OR gate in simorg?",
          "answer": "[1,2,3]"
        },
        {
          "question": "how to declare an AND gate in simorg?",
          "answer": "(1,2,3)"
        },
        {
          "question": "how to declare an XOR gate in simorg?",
          "answer": "[1;2;3]"
        },
        {
          "question": "this is an AND gate to check if all the vibrations are available and it will log the result",
          "answer": "10 $a \n 20 $b \n 30 $c \n (a,b,c) ?"
        },
        {
          "question": "this is an AND gate to check if vibraitons are available and it will not log because variable x is not vibrated",
          "answer": "$x \n 20 $y \n 30 $z \n (x,y,z) ?"
        },
        {
          "question": "this is an OR gate to check if all the vibrations are available and it will log the result",
          "answer": "10 $a \n 20 $b \n 30 $c \n [a,b,c] ?"
        },
        {
          "question": "this is an OR gate to check if all the vibrations are available and it will log the result even while one vibrate is not availabe",
          "answer": " $j \n 20 $k \n 30 $l \n [j,k,l] ?"
        },
        {
          "question": "what is the purpose of simorg gates?",
          "answer": "simorg gates are acting similar to conditional expressions, they release the vibration only if gate condition is met"
        },
        {
          "question": "what is the purpose of an AND gate?",
          "answer": "An AND gate only vibrates when all of its slots have vibration."
        },
        {
          "question": "what is the purpose of an OR gate?",
          "answer": "An OR gate vibrates if at least one of its slots has vibration."
        },
        {
          "question": "what is the purpose of an XOR gate?",
          "answer": "An XOR gate is similar to OR gate but and vibrates if at least one of its slots has vibration but it only releases one vibration at a time."
        }
      ]
    },
    {
      "path": "basic_identifier/train-error.json",
      "topic": "basic_identifier",
      "variant": "train-error",
      "examples": [
        {
          "question": "declaration should not happen after usage, it will throw compiler error",
          "answer": "myVariable \n $myVariable \n "
        },
        {
          "question": "when declaring a variable there should not be any space between $ and variable name",
          "answer": "$ myVarName"
        },
        {
          "question": "variable declaration name should not start by a number",
          "answer": "$10varName"
        },
        {
          "question": "an identifier should always be declared before being used",
          "answer": "myVariable \n 10 myVariable"
        },
        {
          "question": "a variable name can only include _ in its name as special character. All other characters are invalid",
          "answer": "$invalid^name "
        },
        {
          "question": "declare a variable called myVar that has post logger operator of ? and will log itself everytime it is being vibrated",
          "answer": " $myVar ? "
        },
        {
          "question": "declare a variable called myVar that has post logger operator of ? and will log itself everytime it is being vibrated",
          "answer": " $myVar ? "
        },
        {
          "question": "identifier declaration should always be done on the top of the code",
          "answer": " $a \n 10 a \n a? "
        }
      ]
    },
    {
      "path": "basic_identifier/train-simorg-javascript.json",
      "topic": "basic_identifier",
      "variant": "train-simorg-javascript",
      "examples": [
        {
          "question": "Translate the following Javascript code into simorg:  \n let my_variable \n",
          "answer": "$my_variable"
        },
        {
          "question": "Translate the following Javascript code into simorg: \n const CONST_VAR = 100 \n",
          "answer": "100 $CONST_VAR"
        },
        {
          "question": "Translate the following Javascript code into simorg: \n let x; \n x = 7.50; \n console.log(x);\n",
          "answer": "$x \n 7.50 x \n x?"
        },
        {
          "question": "Translate the following Javascript code into simorg: \n let myVariable = 10 \n this is a non const variable",
          "answer": " $myVariable  \n 10 myVariable "
        }
      ]
    },
    {
      "path": "basic_identifier/train-simorg-python.json",
      "topic": "basic_identifier",
      "variant": "train-simorg-python",
      "examples": [
        {
          "question": "Translate the following Python code into simorg:  \n my_variable \n",
          "answer": "$my_variable"
        },
        {
          "question": "Translate the following Python code into simorg: \n CONST_VAR = 100 \n",
          "answer": "100 $CONST_VAR"
        },
        {
          "question": "Translate the following Python code into simorg: \n x \n x = 7.50 \n print(x)\n",
          "answer": "$x \n 7.50 x \n x?"
        },
        {
          "question": "Translate the following Python code into simorg: \n x = 10 \n this is a non const variable",
          "answer": ": 10 $myVariable "
        }
      ]
    },
    {
      "path": "basic_identifier/train-usage.json",
      "topic": "basic_identifier",
      "variant": "train-usage",
      "examples": [
        {
          "question": "declare a variable and call it test",
          "answer": "$test"
        },
        {
          "question": "How variable assignment is done in simorg?",
          "answer": "simorg uses data flow to do assignment. Token on the left assigns to variable on the right. this is because of vibration which moves from left to right. For example: \n 10 $a \n assigns 10 to variable a"
        },
        {
          "question": "declare a const variable name MY_VAR and give it default value of 10",
          "answer": "10 $MY_VAR"
        },
        {
          "question": "declare a variable and give it a decimal value and log its value",
          "answer": "$x \n 7.50 x \n x?"
        },
        {
          "question": "declare an empty variable called myVariable that will recieve its value later",
          "answer": "$myVariable "
        },
        {
          "question": "declare a variable called myVariable that will have value 10 each time a vibration is being received",
          "answer": ": 10 $myVariable "
        },
        {
          "question": "declare a variable called myVar that has post logger operator of ? and will log itself everytime it is being vibrated",
          "answer": " $myVar ? "
        },
        {
          "question": "declare a variable called myVar that has post logger operator of ? and will log itself everytime it is being vibrated",
          "answer": " $myVar ? "
        },
        {
          "question": "identifier declaration should always be done on the top of the code",
          "answer": " $a \n 10 a \n a? "
        },
        {
          "question": "declare 5 different variables and push some vibrations into them and log them",
          "answer": " $a\n $b \n $c \n $d \n $e \n 10 a \n \"hello\" b \n 0x10 c \n 10.5 d \n 0.0 e \n a? \n b? \n c? \n d? \n e? "
        },
        {
          "question": "when declaraing a variable in simorg using _ in a variable name is valid",
          "answer": " $_varName \n $var_name \n $varName_ \n "
        },
        {
          "question": "how to declare a non-const variabe with default vibration of 10 - method 1",
          "answer": ": [10, :] $myVariable "
        },
        {
          "question": "how to declare a non-const variabe with default vibration of 10 - method 2",
          "answer": " $myVariable  \n 10 myVariable"
        }
      ]
    },
    {
      "path": "basic_value_literal/train-error.json",
      "topic": "basic_value_literal",
      "variant": "train-error",
      "examples": [
        {
          "question": "a string value literal should not have negative sign",
          "answer": "-\"Hello\" "
        },
        {
          "question": "a decimal number should not have more than one decimal point",
          "answer": "100.3.0"
        },
        {
          "question": "there should be a digit after decimal point otherwise it is error",
          "answer": "0."
        },
        {
          "question": "there should be a digit before decimal point or it will be an error",
          "answer": ".10"
        }
      ]
    },
    {
      "path": "basic_value_literal/train-simorg-javascript.json",
      "topic": "basic_value_literal",
      "variant": "train-simorg-javascript",
      "examples": [
        {
          "question": "Translate the following Javascript code into simorg:  \n console.log(\"Hello, World!\")\n",
          "answer": "\"Hello World\" ?"
        },
        {
          "question": "Translate the following Javascript code into simorg: \n console.log(100) \n",
          "answer": "100 ?"
        },
        {
          "question": "Translate the following Javascript code into simorg: \n console.log(3.14)\n",
          "answer": "3.14 ?"
        }
      ]
    },
    {
      "path": "basic_value_literal/train-simorg-python.json",
      "topic": "basic_value_literal",
      "variant": "train-simorg-python",
      "examples": [
        {
          "question": "Translate the following Python code into simorg:  \n print(\"Hello, World!\")\n",
          "answer": "\"Hello World\" ?"
        },
        {
          "question": "Translate the following Python code into simorg: \n print(100) \n",
          "answer": "100 ?"
        },
        {
          "question": "Translate the following Python code into simorg: \n  print(3.14)\n",
          "answer": "3.14 ?"
        }
      ]
    },
    {
      "path": "basic_value_literal/train-usage.json",
      "topic": "basic_value_literal",
      "variant": "train-usage",
      "examples": [
        {
          "question": "write a simple Hello World app using value literal and log it ",
          "answer": "\"Hello, World!\" ?"
        },
        {
          "question": "create an integer value literal with value 10",
          "answer": "10"
        },
        {
          "question": "create a decimal value literal with value 0.5",
          "answer": "0.5"
        },
        {
          "question": "create a string value literal with value \"TEST\"",
          "answer": " \"TEST\" "
        },
        {
          "question": "create a buffer value literal with value [0, 10]",
          "answer": "0x00_0a"
        },
        {
          "question": "create an empty string value literal \"\" ",
          "answer": " \"\" "
        },
        {
          "question": "create a negative integer value literal with value of -100 ",
          "answer": " -100 "
        },
        {
          "question": "create a negative integer value literal with value of -0.5 ",
          "answer": " -0.5 "
        },
        {
          "question": "create an empty buffer vlaue literal []",
          "answer": " 0x "
        },
        {
          "question": "write a code that logs a value literal",
          "answer": " \"Test Value\" ?"
        },
        {
          "question": "putting multiple value literals after each other will create a chain of vibration and only the value of last element passes, the output of this code will be 30",
          "answer": "10 20 30 ?"
        },
        {
          "question": "when declaraing a variable in simorg using _ in a variable name is valid",
          "answer": " $_varName \n $var_name \n $varName_ \n "
        },
        {
          "question": "how to declare a non-const variabe with default vibration of 10 - method 1",
          "answer": ": [10, :] $myVariable "
        },
        {
          "question": "how to declare a non-const variabe with default vibration of 10 - method 2",
          "answer": " $myVariable  \n 10 myVariable"
        }
      ]
    },
    {
      "path": "calculational/arithmetic/train-error.json",
      "topic": "calculational",
      "variant": "train-error",
      "examples": [
        {
          "question": "divisio by 0 is not valid and will result in runtime error",
          "answer": "1 / 0 $a "
        },
        {
          "question": "what happens if we use subtract operator with non-number types like buffer or string",
          "answer": "it will log runtime error for example for these code examples: \n 10 - 0x11 \n 10 - \"test\" "
        },
        {
          "question": "what happens if we use multiply operator with non-number types like buffer or string",
          "answer": "it will log runtime error for example for these code examples: \n 10 * 0x11 \n 10 * \"test\" "
        },
        {
          "question": "what happens if we use division operator with non-number types like buffer or string",
          "answer": "it will log runtime error for example for these code examples: \n 10 / 0x11 \n 10 / \"test\" "
        },
        {
          "question": "what happens if we use modulus operator with non-number types like buffer or string",
          "answer": "it will log runtime error for example for these code examples: \n 10 % 0x11 \n 10 % \"test\" "
        }
      ]
    },
    {
      "path": "calculational/arithmetic/train-simorg-javascript.json",
      "topic": "calculational",
      "variant": "train-simorg-javascript",
      "examples": [
        {
          "question": "Translate the following Python code into simorg:  \n let a = 10 + 20; \n",
          "answer": " 10 + 20 $a"
        },
        {
          "question": "Translate the following Python code into simorg: \n let  varA = 10; \n let varB = 20; \n let result = varA + varB;  \n",
          "answer": "10 $varA \n 20 $varB \n varA + varB $result "
        },
        {
          "question": "Translate the following Python code into simorg: \n let a = 1; \n let b = 2; \n let c = b - a; \n",
          "answer": "10 $a \n 20 $b \n b - a $c"
        },
        {
          "question": "Translate the following Python code into simorg: \n let a = 1; \n let b = 2; \n let c = b * a; \n",
          "answer": "10 $a \n 20 $b \n b * a $c"
        },
        {
          "question": "Translate the following Python code into simorg: \n let a = 1; \n let b = 2; \n let divideResult = b / a; \n",
          "answer": "10 $a \n 20 $b \n b / a $divideResult "
        }
      ]
    },
    {
      "path": "calculational/arithmetic/train-simorg-python.json",
      "topic": "calculational",
      "variant": "train-simorg-python",
      "examples": [
        {
          "question": "Translate the following Python code into simorg:  \n a = 10 + 20\n",
          "answer": " 10 + 20 $a"
        },
        {
          "question": "Translate the following Python code into simorg: \n varA = 10 \n varB = 20 \n result = varA + varB  \n",
          "answer": "10 $varA \n 20 $varB \n varA + varB $result "
        },
        {
          "question": "Translate the following Python code into simorg: \n  a = 1 \n b = 2 \n c = b - a \n",
          "answer": "10 $a \n 20 $b \n b - a $c"
        },
        {
          "question": "Translate the following Python code into simorg: \n  a = 1 \n b = 2 \n c = b * a \n",
          "answer": "10 $a \n 20 $b \n b * a $c"
        },
        {
          "question": "Translate the following Python code into simorg: \n  a = 1 \n b = 2 \n divideResult = b / a \n",
          "answer": "10 $a \n 20 $b \n b / a $divideResult "
        }
      ]
    },
    {
      "path": "calculational/arithmetic/train-usage.json",
      "topic": "calculational",
      "variant": "train-usage",
      "examples": [
        {
          "question": "add two numbers in simorg",
          "answer": "10 + 20"
        },
        {
          "question": "add variable a to variable b in simorg and save the result in c",
          "answer": "10 $a \n 20 $b \n a + b $c"
        },
        {
          "question": "add three numbers in simorg and log the result",
          "answer": "10 $a \n 20 $b \n 30 $c \n a + b + c ?"
        },
        {
          "question": "subtract two numbers in simorg",
          "answer": "10 - 20"
        },
        {
          "question": "subtract variable b from variable a in simorg and save the result in c",
          "answer": "10 $a \n 20 $b \n a - b $c"
        },
        {
          "question": "subtract three numbers in simorg and log the result",
          "answer": "10 $a \n 20 $b \n 30 $c \n a - b - c ?"
        },
        {
          "question": "multiply two numbers in simorg",
          "answer": "10 * 20"
        },
        {
          "question": "multiply variable a by variable b in simorg and save the result in c",
          "answer": "10 $a \n 20 $b \n a * b $c"
        },
        {
          "question": "multiply three numbers in simorg and log the result",
          "answer": "10 $a \n 20 $b \n 30 $c \n a * b * c ?"
        },
        {
          "question": "divide two numbers in simorg",
          "answer": "10 / 20"
        },
        {
          "question": "divide variable a to variable b in simorg and save the result in c",
          "answer": "10 $a \n 20 $b \n a / b $c"
        },
        {
          "question": "divide three numbers in simorg and log the result, priority is from left to right",
          "answer": "10 $a \n 20 $b \n 30 $c \n a / b / c ?"
        },
        {
          "question": "calculate the modulus of two numbers",
          "answer": "10 % 5"
        },
        {
          "question": "calculate the modolus of variable a to variable b in simorg and save the result in c",
          "answer": "10 $a \n 5 $b \n a % b $c"
        },
        {
          "question": "simorg supports type coercion between string and integer and decimals. Mathematical operations betwen integer and decimal and string numbers work naturally",
          "answer": "10 $a \n \"5\" $b \n a + b $c"
        },
        {
          "question": "operator priority in simorg is from left to right, result of this code is 52",
          "answer": "10 $a \n 5 $b \n 2 $c \n a * b + c?"
        },
        {
          "question": "what will addition operator + do if operands are string",
          "answer": "it will concatinate the values as string for example this code will log 10test: \n 10 + \"test\" ? "
        },
        {
          "question": "what will addition operator + do if operands are buffer",
          "answer": "it will concatinate the values as buffer for example this code will log [74,65,73,74,00]: \n \"test\" + 0x00 ? "
        }
      ]
    },
    {
      "path": "calculational/relational/train-simorg-javascript.json",
      "topic": "calculational",
      "variant": "train-simorg-javascript",
      "examples": [
        {
          "question": "What is the equivalent of this Javascript code in simorg:  \n let x = 10; \n let y = 20; \n if (x > 20) { \n console.log(\"GREATER\"); \n } else if (x < y) { \n console.log(\"LESS\"); \n } else { \n console.log(\"EQUAL\"); }",
          "answer": " 10 $x \n 20 $y \n x > y \"GREATER\"? \n x < y \"LESS\"? \n x = y \"EQUAL\"? "
        },
        {
          "question": "what is equivalent of this Javascript code in simorg: \n let a = 10; \n let b = 20; \n if (a !== b) { \n console.log(\"NOT_EQUAL\"); }",
          "answer": "10 $a \n 20 $b \n a ! b \"NOT_EQUAL\"?"
        },
        {
          "question": "what is equivalent of this Javascript code in simorg: \n let a = 10; \n let b = 20; \n if (a === b) { \n console.log(\"EQUAL\"); }",
          "answer": "10 $a \n 20 $b \n a = b \"EQUAL\"?"
        },
        {
          "question": "what is equivalent of this Javascript code in simorg: \n let a = 10; \n let b = 20; \n if (a < b){ \n console.log(\"LESS\"); }",
          "answer": "10 $a \n 20 $b \n a < b \"LESS\"?"
        },
        {
          "question": "what is equivalent of this Javascript code in simorg: \n let a = 10; \n let b = 20; \n if (a > b){ \n console.log(\"GREATER\"); }",
          "answer": "10 $a \n 20 $b \n a > b \"GREATER\"?"
        },
        {
          "question": "what is equivalent of this Javascript code in simorg: \n let a = 10; \n let b = 20; \n if (a > 5 && b < 30) { \n console.log(\"YES\"); }",
          "answer": "10 $a \n 20 $b \n (a > 5, b<30) \"YES\"?"
        },
        {
          "question": "what is equivalent of this Javascript code in simorg: \n let a = 10; \n let b = 20; \n if (a === 10 || b === 30){ \n console.log(\"YES_ONE_IS_TRUE\"); }",
          "answer": "10 $a \n 20 $b \n [a = 10, b = 30] \"YES_ONE_IS_TRUE\"?"
        },
        {
          "question": "what is equivalent of this Javascript code in simorg: \n let a = 10; \n let b = 30; \n if (a === 10 && b === 30){ \n console.log(\"YES_BOTH_ARE_TRUE\"); }",
          "answer": "10 $a \n 30 $b \n (a = 10, b = 30) \"YES_BOTH_ARE_TRUE\"?"
        }
      ]
    },
    {
      "path": "calculational/relational/train-simorg-python.json",
      "topic": "calculational",
      "variant": "train-simorg-python",
      "examples": [
        {
          "question": "What is the equivalent of this Python code in simorg:  \n x = 10 \n y = 20 \n if x > 20: \n\t print(\"GREATER\") \n elif x < y: \n\t print(\"LESS\") \n else: \n\t print(\"EQUAL\") ",
          "answer": " 10 $x \n 20 $y \n x > y \"GREATER\"? \n x < y \"LESS\"? \n x = y \"EQUAL\"? "
        },
        {
          "question": "what is equivalent of this Python code in simorg: \n a = 10 \n b = 20 \n if a != b: \n\t print(\"NOT_EQUAL\")",
          "answer": "10 $a \n 20 $b \n a ! b \"NOT_EQUAL\"?"
        },
        {
          "question": "what is equivalent of this Python code in simorg: \n a = 10 \n b = 20 \n if a == b: \n\t print(\"EQUAL\")",
          "answer": "10 $a \n 20 $b \n a = b \"EQUAL\"?"
        },
        {
          "question": "what is equivalent of this Python code in simorg: \n a = 10 \n b = 20 \n if a < b: \n\t print(\"LESS\")",
          "answer": "10 $a \n 20 $b \n a < b \"LESS\"?"
        },
        {
          "question": "what is equivalent of this Python code in simorg: \n a = 10 \n b = 20 \n if a > b: \n\t print(\"GREATER\")",
          "answer": "10 $a \n 20 $b \n a > b \"GREATER\"?"
        },
        {
          "question": "what is equivalent of this Python code in simorg: \n a = 10 \n b = 20 \n if a > 5 and b < 30 : \n\t print(\"YES\")",
          "answer": "10 $a \n 20 $b \n (a > 5, b<30) \"YES\"?"
        },
        {
          "question": "what is equivalent of this Python code in simorg: \n a = 10 \n b = 20 \n if a == 10 or b == 30 : \n\t print(\"YES_ONE_IS_TRUE\")",
          "answer": "10 $a \n 20 $b \n [a = 10, b = 30] \"YES_ONE_IS_TRUE\"?"
        },
        {
          "question": "what is equivalent of this Python code in simorg: \n a = 10 \n b = 30 \n if a == 10 and b == 30 : \n\t print(\"YES_BOTH_ARE_TRUE\")",
          "answer": "10 $a \n 30 $b \n (a = 10, b = 30) \"YES_BOTH_ARE_TRUE\"?"
        }
      ]
    },
    {
      "path": "calculational/relational/train-usage.json",
      "topic": "calculational",
      "variant": "train-usage",
      "examples": [
        {
          "question": "write a simorg code that compares two number variables of a and b and sets c with the bigger one",
          "answer": "10 $a \n 20 $b \n [a > b, b>a] $c"
        },
        {
          "question": "write a simorg code that compares two number variables of a and b and sets c with the bigger one or if they are equal",
          "answer": "10 $a \n 20 $b \n [a > b, a=b, b>a] $c"
        },
        {
          "question": "write a simorg code that compares and checks if 20 is greater than 10 ",
          "answer": "20 > 10 "
        },
        {
          "question": "compare 20 and 10 in simorg and log the smaller one",
          "answer": "10 < 20 ?"
        },
        {
          "question": "how to check equality in simorg",
          "answer": "use a single = operator to check equality. Simorg never uses == and it does not have assignment operator."
        },
        {
          "question": "write a simorg code that checks equality of two values",
          "answer": "10 $a \n 10 $b \n a = b"
        },
        {
          "question": "write a simorg code that checks if two values are not equal",
          "answer": "10 $a \n 10 $b \n a ! b"
        },
        {
          "question": "create two variables and compare two them and log EQUAL if they are equal, GREATER if first is greater and LESS if first is less",
          "answer": "10 $a \n 20 $b \n a = b \"EQUAL\" ? \n a > b \"GREATER\" ? \n a < b \"LESS\"? "
        },
        {
          "question": "write a code that compares two string and checks if they are equal. If equal log EQUAL otherwise log NOT_EQUAL",
          "answer": " \"StringA\" $strA \n \"StringB\" $strB \n strA = strB \"EQUAL\" ? \n  strA ! strB \"NOT_EQUAL\" ? "
        }
      ]
    }
  ],
  "all_examples": [
    {
      "source": "basic_gate/train-usage.json",
      "topic": "basic_gate",
      "variant": "train-usage",
      "index": 0,
      "question": "how to declare an OR gate in simorg?",
      "answer": "[1,2,3]"
    },
    {
      "source": "basic_gate/train-usage.json",
      "topic": "basic_gate",
      "variant": "train-usage",
      "index": 1,
      "question": "how to declare an AND gate in simorg?",
      "answer": "(1,2,3)"
    },
    {
      "source": "basic_gate/train-usage.json",
      "topic": "basic_gate",
      "variant": "train-usage",
      "index": 2,
      "question": "how to declare an XOR gate in simorg?",
      "answer": "[1;2;3]"
    },
    {
      "source": "basic_gate/train-usage.json",
      "topic": "basic_gate",
      "variant": "train-usage",
      "index": 3,
      "question": "this is an AND gate to check if all the vibrations are available and it will log the result",
      "answer": "10 $a \n 20 $b \n 30 $c \n (a,b,c) ?"
    },
    {
      "source": "basic_gate/train-usage.json",
      "topic": "basic_gate",
      "variant": "train-usage",
      "index": 4,
      "question": "this is an AND gate to check if vibraitons are available and it will not log because variable x is not vibrated",
      "answer": "$x \n 20 $y \n 30 $z \n (x,y,z) ?"
    },
    {
      "source": "basic_gate/train-usage.json",
      "topic": "basic_gate",
      "variant": "train-usage",
      "index": 5,
      "question": "this is an OR gate to check if all the vibrations are available and it will log the result",
      "answer": "10 $a \n 20 $b \n 30 $c \n [a,b,c] ?"
    },
    {
      "source": "basic_gate/train-usage.json",
      "topic": "basic_gate",
      "variant": "train-usage",
      "index": 6,
      "question": "this is an OR gate to check if all the vibrations are available and it will log the result even while one vibrate is not availabe",
      "answer": " $j \n 20 $k \n 30 $l \n [j,k,l] ?"
    },
    {
      "source": "basic_gate/train-usage.json",
      "topic": "basic_gate",
      "variant": "train-usage",
      "index": 7,
      "question": "what is the purpose of simorg gates?",
      "answer": "simorg gates are acting similar to conditional expressions, they release the vibration only if gate condition is met"
    },
    {
      "source": "basic_gate/train-usage.json",
      "topic": "basic_gate",
      "variant": "train-usage",
      "index": 8,
      "question": "what is the purpose of an AND gate?",
      "answer": "An AND gate only vibrates when all of its slots have vibration."
    },
    {
      "source": "basic_gate/train-usage.json",
      "topic": "basic_gate",
      "variant": "train-usage",
      "index": 9,
      "question": "what is the purpose of an OR gate?",
      "answer": "An OR gate vibrates if at least one of its slots has vibration."
    },
    {
      "source": "basic_gate/train-usage.json",
      "topic": "basic_gate",
      "variant": "train-usage",
      "index": 10,
      "question": "what is the purpose of an XOR gate?",
      "answer": "An XOR gate is similar to OR gate but and vibrates if at least one of its slots has vibration but it only releases one vibration at a time."
    },
    {
      "source": "basic_identifier/train-error.json",
      "topic": "basic_identifier",
      "variant": "train-error",
      "index": 0,
      "question": "declaration should not happen after usage, it will throw compiler error",
      "answer": "myVariable \n $myVariable \n "
    },
    {
      "source": "basic_identifier/train-error.json",
      "topic": "basic_identifier",
      "variant": "train-error",
      "index": 1,
      "question": "when declaring a variable there should not be any space between $ and variable name",
      "answer": "$ myVarName"
    },
    {
      "source": "basic_identifier/train-error.json",
      "topic": "basic_identifier",
      "variant": "train-error",
      "index": 2,
      "question": "variable declaration name should not start by a number",
      "answer": "$10varName"
    },
    {
      "source": "basic_identifier/train-error.json",
      "topic": "basic_identifier",
      "variant": "train-error",
      "index": 3,
      "question": "an identifier should always be declared before being used",
      "answer": "myVariable \n 10 myVariable"
    },
    {
      "source": "basic_identifier/train-error.json",
      "topic": "basic_identifier",
      "variant": "train-error",
      "index": 4,
      "question": "a variable name can only include _ in its name as special character. All other characters are invalid",
      "answer": "$invalid^name "
    },
    {
      "source": "basic_identifier/train-error.json",
      "topic": "basic_identifier",
      "variant": "train-error",
      "index": 5,
      "question": "declare a variable called myVar that has post logger operator of ? and will log itself everytime it is being vibrated",
      "answer": " $myVar ? "
    },
    {
      "source": "basic_identifier/train-error.json",
      "topic": "basic_identifier",
      "variant": "train-error",
      "index": 6,
      "question": "declare a variable called myVar that has post logger operator of ? and will log itself everytime it is being vibrated",
      "answer": " $myVar ? "
    },
    {
      "source": "basic_identifier/train-error.json",
      "topic": "basic_identifier",
      "variant": "train-error",
      "index": 7,
      "question": "identifier declaration should always be done on the top of the code",
      "answer": " $a \n 10 a \n a? "
    },
    {
      "source": "basic_identifier/train-simorg-javascript.json",
      "topic": "basic_identifier",
      "variant": "train-simorg-javascript",
      "index": 0,
      "question": "Translate the following Javascript code into simorg:  \n let my_variable \n",
      "answer": "$my_variable"
    },
    {
      "source": "basic_identifier/train-simorg-javascript.json",
      "topic": "basic_identifier",
      "variant": "train-simorg-javascript",
      "index": 1,
      "question": "Translate the following Javascript code into simorg: \n const CONST_VAR = 100 \n",
      "answer": "100 $CONST_VAR"
    },
    {
      "source": "basic_identifier/train-simorg-javascript.json",
      "topic": "basic_identifier",
      "variant": "train-simorg-javascript",
      "index": 2,
      "question": "Translate the following Javascript code into simorg: \n let x; \n x = 7.50; \n console.log(x);\n",
      "answer": "$x \n 7.50 x \n x?"
    },
    {
      "source": "basic_identifier/train-simorg-javascript.json",
      "topic": "basic_identifier",
      "variant": "train-simorg-javascript",
      "index": 3,
      "question": "Translate the following Javascript code into simorg: \n let myVariable = 10 \n this is a non const variable",
      "answer": " $myVariable  \n 10 myVariable "
    },
    {
      "source": "basic_identifier/train-simorg-python.json",
      "topic": "basic_identifier",
      "variant": "train-simorg-python",
      "index": 0,
      "question": "Translate the following Python code into simorg:  \n my_variable \n",
      "answer": "$my_variable"
    },
    {
      "source": "basic_identifier/train-simorg-python.json",
      "topic": "basic_identifier",
      "variant": "train-simorg-python",
      "index": 1,
      "question": "Translate the following Python code into simorg: \n CONST_VAR = 100 \n",
      "answer": "100 $CONST_VAR"
    },
    {
      "source": "basic_identifier/train-simorg-python.json",
      "topic": "basic_identifier",
      "variant": "train-simorg-python",
      "index": 2,
      "question": "Translate the following Python code into simorg: \n x \n x = 7.50 \n print(x)\n",
      "answer": "$x \n 7.50 x \n x?"
    },
    {
      "source": "basic_identifier/train-simorg-python.json",
      "topic": "basic_identifier",
      "variant": "train-simorg-python",
      "index": 3,
      "question": "Translate the following Python code into simorg: \n x = 10 \n this is a non const variable",
      "answer": ": 10 $myVariable "
    },
    {
      "source": "basic_identifier/train-usage.json",
      "topic": "basic_identifier",
      "variant": "train-usage",
      "index": 0,
      "question": "declare a variable and call it test",
      "answer": "$test"
    },
    {
      "source": "basic_identifier/train-usage.json",
      "topic": "basic_identifier",
      "variant": "train-usage",
      "index": 1,
      "question": "How variable assignment is done in simorg?",
      "answer": "simorg uses data flow to do assignment. Token on the left assigns to variable on the right. this is because of vibration which moves from left to right. For example: \n 10 $a \n assigns 10 to variable a"
    },
    {
      "source": "basic_identifier/train-usage.json",
      "topic": "basic_identifier",
      "variant": "train-usage",
      "index": 2,
      "question": "declare a const variable name MY_VAR and give it default value of 10",
      "answer": "10 $MY_VAR"
    },
    {
      "source": "basic_identifier/train-usage.json",
      "topic": "basic_identifier",
      "variant": "train-usage",
      "index": 3,
      "question": "declare a variable and give it a decimal value and log its value",
      "answer": "$x \n 7.50 x \n x?"
    },
    {
      "source": "basic_identifier/train-usage.json",
      "topic": "basic_identifier",
      "variant": "train-usage",
      "index": 4,
      "question": "declare an empty variable called myVariable that will recieve its value later",
      "answer": "$myVariable "
    },
    {
      "source": "basic_identifier/train-usage.json",
      "topic": "basic_identifier",
      "variant": "train-usage",
      "index": 5,
      "question": "declare a variable called myVariable that will have value 10 each time a vibration is being received",
      "answer": ": 10 $myVariable "
    },
    {
      "source": "basic_identifier/train-usage.json",
      "topic": "basic_identifier",
      "variant": "train-usage",
      "index": 6,
      "question": "declare a variable called myVar that has post logger operator of ? and will log itself everytime it is being vibrated",
      "answer": " $myVar ? "
    },
    {
      "source": "basic_identifier/train-usage.json",
      "topic": "basic_identifier",
      "variant": "train-usage",
      "index": 7,
      "question": "declare a variable called myVar that has post logger operator of ? and will log itself everytime it is being vibrated",
      "answer": " $myVar ? "
    },
    {
      "source": "basic_identifier/train-usage.json",
      "topic": "basic_identifier",
      "variant": "train-usage",
      "index": 8,
      "question": "identifier declaration should always be done on the top of the code",
      "answer": " $a \n 10 a \n a? "
    },
    {
      "source": "basic_identifier/train-usage.json",
      "topic": "basic_identifier",
      "variant": "train-usage",
      "index": 9,
      "question": "declare 5 different variables and push some vibrations into them and log them",
      "answer": " $a\n $b \n $c \n $d \n $e \n 10 a \n \"hello\" b \n 0x10 c \n 10.5 d \n 0.0 e \n a? \n b? \n c? \n d? \n e? "
    },
    {
      "source": "basic_identifier/train-usage.json",
      "topic": "basic_identifier",
      "variant": "train-usage",
      "index": 10,
      "question": "when declaraing a variable in simorg using _ in a variable name is valid",
      "answer": " $_varName \n $var_name \n $varName_ \n "
    },
    {
      "source": "basic_identifier/train-usage.json",
      "topic": "basic_identifier",
      "variant": "train-usage",
      "index": 11,
      "question": "how to declare a non-const variabe with default vibration of 10 - method 1",
      "answer": ": [10, :] $myVariable "
    },
    {
      "source": "basic_identifier/train-usage.json",
      "topic": "basic_identifier",
      "variant": "train-usage",
      "index": 12,
      "question": "how to declare a non-const variabe with default vibration of 10 - method 2",
      "answer": " $myVariable  \n 10 myVariable"
    },
    {
      "source": "basic_value_literal/train-error.json",
      "topic": "basic_value_literal",
      "variant": "train-error",
      "index": 0,
      "question": "a string value literal should not have negative sign",
      "answer": "-\"Hello\" "
    },
    {
      "source": "basic_value_literal/train-error.json",
      "topic": "basic_value_literal",
      "variant": "train-error",
      "index": 1,
      "question": "a decimal number should not have more than one decimal point",
      "answer": "100.3.0"
    },
    {
      "source": "basic_value_literal/train-error.json",
      "topic": "basic_value_literal",
      "variant": "train-error",
      "index": 2,
      "question": "there should be a digit after decimal point otherwise it is error",
      "answer": "0."
    },
    {
      "source": "basic_value_literal/train-error.json",
      "topic": "basic_value_literal",
      "variant": "train-error",
      "index": 3,
      "question": "there should be a digit before decimal point or it will be an error",
      "answer": ".10"
    },
    {
      "source": "basic_value_literal/train-simorg-javascript.json",
      "topic": "basic_value_literal",
      "variant": "train-simorg-javascript",
      "index": 0,
      "question": "Translate the following Javascript code into simorg:  \n console.log(\"Hello, World!\")\n",
      "answer": "\"Hello World\" ?"
    },
    {
      "source": "basic_value_literal/train-simorg-javascript.json",
      "topic": "basic_value_literal",
      "variant": "train-simorg-javascript",
      "index": 1,
      "question": "Translate the following Javascript code into simorg: \n console.log(100) \n",
      "answer": "100 ?"
    },
    {
      "source": "basic_value_literal/train-simorg-javascript.json",
      "topic": "basic_value_literal",
      "variant": "train-simorg-javascript",
      "index": 2,
      "question": "Translate the following Javascript code into simorg: \n console.log(3.14)\n",
      "answer": "3.14 ?"
    },
    {
      "source": "basic_value_literal/train-simorg-python.json",
      "topic": "basic_value_literal",
      "variant": "train-simorg-python",
      "index": 0,
      "question": "Translate the following Python code into simorg:  \n print(\"Hello, World!\")\n",
      "answer": "\"Hello World\" ?"
    },
    {
      "source": "basic_value_literal/train-simorg-python.json",
      "topic": "basic_value_literal",
      "variant": "train-simorg-python",
      "index": 1,
      "question": "Translate the following Python code into simorg: \n print(100) \n",
      "answer": "100 ?"
    },
    {
      "source": "basic_value_literal/train-simorg-python.json",
      "topic": "basic_value_literal",
      "variant": "train-simorg-python",
      "index": 2,
      "question": "Translate the following Python code into simorg: \n  print(3.14)\n",
      "answer": "3.14 ?"
    },
    {
      "source": "basic_value_literal/train-usage.json",
      "topic": "basic_value_literal",
      "variant": "train-usage",
      "index": 0,
      "question": "write a simple Hello World app using value literal and log it ",
      "answer": "\"Hello, World!\" ?"
    },
    {
      "source": "basic_value_literal/train-usage.json",
      "topic": "basic_value_literal",
      "variant": "train-usage",
      "index": 1,
      "question": "create an integer value literal with value 10",
      "answer": "10"
    },
    {
      "source": "basic_value_literal/train-usage.json",
      "topic": "basic_value_literal",
      "variant": "train-usage",
      "index": 2,
      "question": "create a decimal value literal with value 0.5",
      "answer": "0.5"
    },
    {
      "source": "basic_value_literal/train-usage.json",
      "topic": "basic_value_literal",
      "variant": "train-usage",
      "index": 3,
      "question": "create a string value literal with value \"TEST\"",
      "answer": " \"TEST\" "
    },
    {
      "source": "basic_value_literal/train-usage.json",
      "topic": "basic_value_literal",
      "variant": "train-usage",
      "index": 4,
      "question": "create a buffer value literal with value [0, 10]",
      "answer": "0x00_0a"
    },
    {
      "source": "basic_value_literal/train-usage.json",
      "topic": "basic_value_literal",
      "variant": "train-usage",
      "index": 5,
      "question": "create an empty string value literal \"\" ",
      "answer": " \"\" "
    },
    {
      "source": "basic_value_literal/train-usage.json",
      "topic": "basic_value_literal",
      "variant": "train-usage",
      "index": 6,
      "question": "create a negative integer value literal with value of -100 ",
      "answer": " -100 "
    },
    {
      "source": "basic_value_literal/train-usage.json",
      "topic": "basic_value_literal",
      "variant": "train-usage",
      "index": 7,
      "question": "create a negative integer value literal with value of -0.5 ",
      "answer": " -0.5 "
    },
    {
      "source": "basic_value_literal/train-usage.json",
      "topic": "basic_value_literal",
      "variant": "train-usage",
      "index": 8,
      "question": "create an empty buffer vlaue literal []",
      "answer": " 0x "
    },
    {
      "source": "basic_value_literal/train-usage.json",
      "topic": "basic_value_literal",
      "variant": "train-usage",
      "index": 9,
      "question": "write a code that logs a value literal",
      "answer": " \"Test Value\" ?"
    },
    {
      "source": "basic_value_literal/train-usage.json",
      "topic": "basic_value_literal",
      "variant": "train-usage",
      "index": 10,
      "question": "putting multiple value literals after each other will create a chain of vibration and only the value of last element passes, the output of this code will be 30",
      "answer": "10 20 30 ?"
    },
    {
      "source": "basic_value_literal/train-usage.json",
      "topic": "basic_value_literal",
      "variant": "train-usage",
      "index": 11,
      "question": "when declaraing a variable in simorg using _ in a variable name is valid",
      "answer": " $_varName \n $var_name \n $varName_ \n "
    },
    {
      "source": "basic_value_literal/train-usage.json",
      "topic": "basic_value_literal",
      "variant": "train-usage",
      "index": 12,
      "question": "how to declare a non-const variabe with default vibration of 10 - method 1",
      "answer": ": [10, :] $myVariable "
    },
    {
      "source": "basic_value_literal/train-usage.json",
      "topic": "basic_value_literal",
      "variant": "train-usage",
      "index": 13,
      "question": "how to declare a non-const variabe with default vibration of 10 - method 2",
      "answer": " $myVariable  \n 10 myVariable"
    },
    {
      "source": "calculational/arithmetic/train-error.json",
      "topic": "calculational",
      "variant": "train-error",
      "index": 0,
      "question": "divisio by 0 is not valid and will result in runtime error",
      "answer": "1 / 0 $a "
    },
    {
      "source": "calculational/arithmetic/train-error.json",
      "topic": "calculational",
      "variant": "train-error",
      "index": 1,
      "question": "what happens if we use subtract operator with non-number types like buffer or string",
      "answer": "it will log runtime error for example for these code examples: \n 10 - 0x11 \n 10 - \"test\" "
    },
    {
      "source": "calculational/arithmetic/train-error.json",
      "topic": "calculational",
      "variant": "train-error",
      "index": 2,
      "question": "what happens if we use multiply operator with non-number types like buffer or string",
      "answer": "it will log runtime error for example for these code examples: \n 10 * 0x11 \n 10 * \"test\" "
    },
    {
      "source": "calculational/arithmetic/train-error.json",
      "topic": "calculational",
      "variant": "train-error",
      "index": 3,
      "question": "what happens if we use division operator with non-number types like buffer or string",
      "answer": "it will log runtime error for example for these code examples: \n 10 / 0x11 \n 10 / \"test\" "
    },
    {
      "source": "calculational/arithmetic/train-error.json",
      "topic": "calculational",
      "variant": "train-error",
      "index": 4,
      "question": "what happens if we use modulus operator with non-number types like buffer or string",
      "answer": "it will log runtime error for example for these code examples: \n 10 % 0x11 \n 10 % \"test\" "
    },
    {
      "source": "calculational/arithmetic/train-simorg-javascript.json",
      "topic": "calculational",
      "variant": "train-simorg-javascript",
      "index": 0,
      "question": "Translate the following Python code into simorg:  \n let a = 10 + 20; \n",
      "answer": " 10 + 20 $a"
    },
    {
      "source": "calculational/arithmetic/train-simorg-javascript.json",
      "topic": "calculational",
      "variant": "train-simorg-javascript",
      "index": 1,
      "question": "Translate the following Python code into simorg: \n let  varA = 10; \n let varB = 20; \n let result = varA + varB;  \n",
      "answer": "10 $varA \n 20 $varB \n varA + varB $result "
    },
    {
      "source": "calculational/arithmetic/train-simorg-javascript.json",
      "topic": "calculational",
      "variant": "train-simorg-javascript",
      "index": 2,
      "question": "Translate the following Python code into simorg: \n let a = 1; \n let b = 2; \n let c = b - a; \n",
      "answer": "10 $a \n 20 $b \n b - a $c"
    },
    {
      "source": "calculational/arithmetic/train-simorg-javascript.json",
      "topic": "calculational",
      "variant": "train-simorg-javascript",
      "index": 3,
      "question": "Translate the following Python code into simorg: \n let a = 1; \n let b = 2; \n let c = b * a; \n",
      "answer": "10 $a \n 20 $b \n b * a $c"
    },
    {
      "source": "calculational/arithmetic/train-simorg-javascript.json",
      "topic": "calculational",
      "variant": "train-simorg-javascript",
      "index": 4,
      "question": "Translate the following Python code into simorg: \n let a = 1; \n let b = 2; \n let divideResult = b / a; \n",
      "answer": "10 $a \n 20 $b \n b / a $divideResult "
    },
    {
      "source": "calculational/arithmetic/train-simorg-python.json",
      "topic": "calculational",
      "variant": "train-simorg-python",
      "index": 0,
      "question": "Translate the following Python code into simorg:  \n a = 10 + 20\n",
      "answer": " 10 + 20 $a"
    },
    {
      "source": "calculational/arithmetic/train-simorg-python.json",
      "topic": "calculational",
      "variant": "train-simorg-python",
      "index": 1,
      "question": "Translate the following Python code into simorg: \n varA = 10 \n varB = 20 \n result = varA + varB  \n",
      "answer": "10 $varA \n 20 $varB \n varA + varB $result "
    },
    {
      "source": "calculational/arithmetic/train-simorg-python.json",
      "topic": "calculational",
      "variant": "train-simorg-python",
      "index": 2,
      "question": "Translate the following Python code into simorg: \n  a = 1 \n b = 2 \n c = b - a \n",
      "answer": "10 $a \n 20 $b \n b - a $c"
    },
    {
      "source": "calculational/arithmetic/train-simorg-python.json",
      "topic": "calculational",
      "variant": "train-simorg-python",
      "index": 3,
      "question": "Translate the following Python code into simorg: \n  a = 1 \n b = 2 \n c = b * a \n",
      "answer": "10 $a \n 20 $b \n b * a $c"
    },
    {
      "source": "calculational/arithmetic/train-simorg-python.json",
      "topic": "calculational",
      "variant": "train-simorg-python",
      "index": 4,
      "question": "Translate the following Python code into simorg: \n  a = 1 \n b = 2 \n divideResult = b / a \n",
      "answer": "10 $a \n 20 $b \n b / a $divideResult "
    },
    {
      "source": "calculational/arithmetic/train-usage.json",
      "topic": "calculational",
      "variant": "train-usage",
      "index": 0,
      "question": "add two numbers in simorg",
      "answer": "10 + 20"
    },
    {
      "source": "calculational/arithmetic/train-usage.json",
      "topic": "calculational",
      "variant": "train-usage",
      "index": 1,
      "question": "add variable a to variable b in simorg and save the result in c",
      "answer": "10 $a \n 20 $b \n a + b $c"
    },
    {
      "source": "calculational/arithmetic/train-usage.json",
      "topic": "calculational",
      "variant": "train-usage",
      "index": 2,
      "question": "add three numbers in simorg and log the result",
      "answer": "10 $a \n 20 $b \n 30 $c \n a + b + c ?"
    },
    {
      "source": "calculational/arithmetic/train-usage.json",
      "topic": "calculational",
      "variant": "train-usage",
      "index": 3,
      "question": "subtract two numbers in simorg",
      "answer": "10 - 20"
    },
    {
      "source": "calculational/arithmetic/train-usage.json",
      "topic": "calculational",
      "variant": "train-usage",
      "index": 4,
      "question": "subtract variable b from variable a in simorg and save the result in c",
      "answer": "10 $a \n 20 $b \n a - b $c"
    },
    {
      "source": "calculational/arithmetic/train-usage.json",
      "topic": "calculational",
      "variant": "train-usage",
      "index": 5,
      "question": "subtract three numbers in simorg and log the result",
      "answer": "10 $a \n 20 $b \n 30 $c \n a - b - c ?"
    },
    {
      "source": "calculational/arithmetic/train-usage.json",
      "topic": "calculational",
      "variant": "train-usage",
      "index": 6,
      "question": "multiply two numbers in simorg",
      "answer": "10 * 20"
    },
    {
      "source": "calculational/arithmetic/train-usage.json",
      "topic": "calculational",
      "variant": "train-usage",
      "index": 7,
      "question": "multiply variable a by variable b in simorg and save the result in c",
      "answer": "10 $a \n 20 $b \n a * b $c"
    },
    {
      "source": "calculational/arithmetic/train-usage.json",
      "topic": "calculational",
      "variant": "train-usage",
      "index": 8,
      "question": "multiply three numbers in simorg and log the result",
      "answer": "10 $a \n 20 $b \n 30 $c \n a * b * c ?"
    },
    {
      "source": "calculational/arithmetic/train-usage.json",
      "topic": "calculational",
      "variant": "train-usage",
      "index": 9,
      "question": "divide two numbers in simorg",
      "answer": "10 / 20"
    },
    {
      "source": "calculational/arithmetic/train-usage.json",
      "topic": "calculational",
      "variant": "train-usage",
      "index": 10,
      "question": "divide variable a to variable b in simorg and save the result in c",
      "answer": "10 $a \n 20 $b \n a / b $c"
    },
    {
      "source": "calculational/arithmetic/train-usage.json",
      "topic": "calculational",
      "variant": "train-usage",
      "index": 11,
      "question": "divide three numbers in simorg and log the result, priority is from left to right",
      "answer": "10 $a \n 20 $b \n 30 $c \n a / b / c ?"
    },
    {
      "source": "calculational/arithmetic/train-usage.json",
      "topic": "calculational",
      "variant": "train-usage",
      "index": 12,
      "question": "calculate the modulus of two numbers",
      "answer": "10 % 5"
    },
    {
      "source": "calculational/arithmetic/train-usage.json",
      "topic": "calculational",
      "variant": "train-usage",
      "index": 13,
      "question": "calculate the modolus of variable a to variable b in simorg and save the result in c",
      "answer": "10 $a \n 5 $b \n a % b $c"
    },
    {
      "source": "calculational/arithmetic/train-usage.json",
      "topic": "calculational",
      "variant": "train-usage",
      "index": 14,
      "question": "simorg supports type coercion between string and integer and decimals. Mathematical operations betwen integer and decimal and string numbers work naturally",
      "answer": "10 $a \n \"5\" $b \n a + b $c"
    },
    {
      "source": "calculational/arithmetic/train-usage.json",
      "topic": "calculational",
      "variant": "train-usage",
      "index": 15,
      "question": "operator priority in simorg is from left to right, result of this code is 52",
      "answer": "10 $a \n 5 $b \n 2 $c \n a * b + c?"
    },
    {
      "source": "calculational/arithmetic/train-usage.json",
      "topic": "calculational",
      "variant": "train-usage",
      "index": 16,
      "question": "what will addition operator + do if operands are string",
      "answer": "it will concatinate the values as string for example this code will log 10test: \n 10 + \"test\" ? "
    },
    {
      "source": "calculational/arithmetic/train-usage.json",
      "topic": "calculational",
      "variant": "train-usage",
      "index": 17,
      "question": "what will addition operator + do if operands are buffer",
      "answer": "it will concatinate the values as buffer for example this code will log [74,65,73,74,00]: \n \"test\" + 0x00 ? "
    },
    {
      "source": "calculational/relational/train-simorg-javascript.json",
      "topic": "calculational",
      "variant": "train-simorg-javascript",
      "index": 0,
      "question": "What is the equivalent of this Javascript code in simorg:  \n let x = 10; \n let y = 20; \n if (x > 20) { \n console.log(\"GREATER\"); \n } else if (x < y) { \n console.log(\"LESS\"); \n } else { \n console.log(\"EQUAL\"); }",
      "answer": " 10 $x \n 20 $y \n x > y \"GREATER\"? \n x < y \"LESS\"? \n x = y \"EQUAL\"? "
    },
    {
      "source": "calculational/relational/train-simorg-javascript.json",
      "topic": "calculational",
      "variant": "train-simorg-javascript",
      "index": 1,
      "question": "what is equivalent of this Javascript code in simorg: \n let a = 10; \n let b = 20; \n if (a !== b) { \n console.log(\"NOT_EQUAL\"); }",
      "answer": "10 $a \n 20 $b \n a ! b \"NOT_EQUAL\"?"
    },
    {
      "source": "calculational/relational/train-simorg-javascript.json",
      "topic": "calculational",
      "variant": "train-simorg-javascript",
      "index": 2,
      "question": "what is equivalent of this Javascript code in simorg: \n let a = 10; \n let b = 20; \n if (a === b) { \n console.log(\"EQUAL\"); }",
      "answer": "10 $a \n 20 $b \n a = b \"EQUAL\"?"
    },
    {
      "source": "calculational/relational/train-simorg-javascript.json",
      "topic": "calculational",
      "variant": "train-simorg-javascript",
      "index": 3,
      "question": "what is equivalent of this Javascript code in simorg: \n let a = 10; \n let b = 20; \n if (a < b){ \n console.log(\"LESS\"); }",
      "answer": "10 $a \n 20 $b \n a < b \"LESS\"?"
    },
    {
      "source": "calculational/relational/train-simorg-javascript.json",
      "topic": "calculational",
      "variant": "train-simorg-javascript",
      "index": 4,
      "question": "what is equivalent of this Javascript code in simorg: \n let a = 10; \n let b = 20; \n if (a > b){ \n console.log(\"GREATER\"); }",
      "answer": "10 $a \n 20 $b \n a > b \"GREATER\"?"
    },
    {
      "source": "calculational/relational/train-simorg-javascript.json",
      "topic": "calculational",
      "variant": "train-simorg-javascript",
      "index": 5,
      "question": "what is equivalent of this Javascript code in simorg: \n let a = 10; \n let b = 20; \n if (a > 5 && b < 30) { \n console.log(\"YES\"); }",
      "answer": "10 $a \n 20 $b \n (a > 5, b<30) \"YES\"?"
    },
    {
      "source": "calculational/relational/train-simorg-javascript.json",
      "topic": "calculational",
      "variant": "train-simorg-javascript",
      "index": 6,
      "question": "what is equivalent of this Javascript code in simorg: \n let a = 10; \n let b = 20; \n if (a === 10 || b === 30){ \n console.log(\"YES_ONE_IS_TRUE\"); }",
      "answer": "10 $a \n 20 $b \n [a = 10, b = 30] \"YES_ONE_IS_TRUE\"?"
    },
    {
      "source": "calculational/relational/train-simorg-javascript.json",
      "topic": "calculational",
      "variant": "train-simorg-javascript",
      "index": 7,
      "question": "what is equivalent of this Javascript code in simorg: \n let a = 10; \n let b = 30; \n if (a === 10 && b === 30){ \n console.log(\"YES_BOTH_ARE_TRUE\"); }",
      "answer": "10 $a \n 30 $b \n (a = 10, b = 30) \"YES_BOTH_ARE_TRUE\"?"
    },
    {
      "source": "calculational/relational/train-simorg-python.json",
      "topic": "calculational",
      "variant": "train-simorg-python",
      "index": 0,
      "question": "What is the equivalent of this Python code in simorg:  \n x = 10 \n y = 20 \n if x > 20: \n\t print(\"GREATER\") \n elif x < y: \n\t print(\"LESS\") \n else: \n\t print(\"EQUAL\") ",
      "answer": " 10 $x \n 20 $y \n x > y \"GREATER\"? \n x < y \"LESS\"? \n x = y \"EQUAL\"? "
    },
    {
      "source": "calculational/relational/train-simorg-python.json",
      "topic": "calculational",
      "variant": "train-simorg-python",
      "index": 1,
      "question": "what is equivalent of this Python code in simorg: \n a = 10 \n b = 20 \n if a != b: \n\t print(\"NOT_EQUAL\")",
      "answer": "10 $a \n 20 $b \n a ! b \"NOT_EQUAL\"?"
    },
    {
      "source": "calculational/relational/train-simorg-python.json",
      "topic": "calculational",
      "variant": "train-simorg-python",
      "index": 2,
      "question": "what is equivalent of this Python code in simorg: \n a = 10 \n b = 20 \n if a == b: \n\t print(\"EQUAL\")",
      "answer": "10 $a \n 20 $b \n a = b \"EQUAL\"?"
    },
    {
      "source": "calculational/relational/train-simorg-python.json",
      "topic": "calculational",
      "variant": "train-simorg-python",
      "index": 3,
      "question": "what is equivalent of this Python code in simorg: \n a = 10 \n b = 20 \n if a < b: \n\t print(\"LESS\")",
      "answer": "10 $a \n 20 $b \n a < b \"LESS\"?"
    },
    {
      "source": "calculational/relational/train-simorg-python.json",
      "topic": "calculational",
      "variant": "train-simorg-python",
      "index": 4,
      "question": "what is equivalent of this Python code in simorg: \n a = 10 \n b = 20 \n if a > b: \n\t print(\"GREATER\")",
      "answer": "10 $a \n 20 $b \n a > b \"GREATER\"?"
    },
    {
      "source": "calculational/relational/train-simorg-python.json",
      "topic": "calculational",
      "variant": "train-simorg-python",
      "index": 5,
      "question": "what is equivalent of this Python code in simorg: \n a = 10 \n b = 20 \n if a > 5 and b < 30 : \n\t print(\"YES\")",
      "answer": "10 $a \n 20 $b \n (a > 5, b<30) \"YES\"?"
    },
    {
      "source": "calculational/relational/train-simorg-python.json",
      "topic": "calculational",
      "variant": "train-simorg-python",
      "index": 6,
      "question": "what is equivalent of this Python code in simorg: \n a = 10 \n b = 20 \n if a == 10 or b == 30 : \n\t print(\"YES_ONE_IS_TRUE\")",
      "answer": "10 $a \n 20 $b \n [a = 10, b = 30] \"YES_ONE_IS_TRUE\"?"
    },
    {
      "source": "calculational/relational/train-simorg-python.json",
      "topic": "calculational",
      "variant": "train-simorg-python",
      "index": 7,
      "question": "what is equivalent of this Python code in simorg: \n a = 10 \n b = 30 \n if a == 10 and b == 30 : \n\t print(\"YES_BOTH_ARE_TRUE\")",
      "answer": "10 $a \n 30 $b \n (a = 10, b = 30) \"YES_BOTH_ARE_TRUE\"?"
    },
    {
      "source": "calculational/relational/train-usage.json",
      "topic": "calculational",
      "variant": "train-usage",
      "index": 0,
      "question": "write a simorg code that compares two number variables of a and b and sets c with the bigger one",
      "answer": "10 $a \n 20 $b \n [a > b, b>a] $c"
    },
    {
      "source": "calculational/relational/train-usage.json",
      "topic": "calculational",
      "variant": "train-usage",
      "index": 1,
      "question": "write a simorg code that compares two number variables of a and b and sets c with the bigger one or if they are equal",
      "answer": "10 $a \n 20 $b \n [a > b, a=b, b>a] $c"
    },
    {
      "source": "calculational/relational/train-usage.json",
      "topic": "calculational",
      "variant": "train-usage",
      "index": 2,
      "question": "write a simorg code that compares and checks if 20 is greater than 10 ",
      "answer": "20 > 10 "
    },
    {
      "source": "calculational/relational/train-usage.json",
      "topic": "calculational",
      "variant": "train-usage",
      "index": 3,
      "question": "compare 20 and 10 in simorg and log the smaller one",
      "answer": "10 < 20 ?"
    },
    {
      "source": "calculational/relational/train-usage.json",
      "topic": "calculational",
      "variant": "train-usage",
      "index": 4,
      "question": "how to check equality in simorg",
      "answer": "use a single = operator to check equality. Simorg never uses == and it does not have assignment operator."
    },
    {
      "source": "calculational/relational/train-usage.json",
      "topic": "calculational",
      "variant": "train-usage",
      "index": 5,
      "question": "write a simorg code that checks equality of two values",
      "answer": "10 $a \n 10 $b \n a = b"
    },
    {
      "source": "calculational/relational/train-usage.json",
      "topic": "calculational",
      "variant": "train-usage",
      "index": 6,
      "question": "write a simorg code that checks if two values are not equal",
      "answer": "10 $a \n 10 $b \n a ! b"
    },
    {
      "source": "calculational/relational/train-usage.json",
      "topic": "calculational",
      "variant": "train-usage",
      "index": 7,
      "question": "create two variables and compare two them and log EQUAL if they are equal, GREATER if first is greater and LESS if first is less",
      "answer": "10 $a \n 20 $b \n a = b \"EQUAL\" ? \n a > b \"GREATER\" ? \n a < b \"LESS\"? "
    },
    {
      "source": "calculational/relational/train-usage.json",
      "topic": "calculational",
      "variant": "train-usage",
      "index": 8,
      "question": "write a code that compares two string and checks if they are equal. If equal log EQUAL otherwise log NOT_EQUAL",
      "answer": " \"StringA\" $strA \n \"StringB\" $strB \n strA = strB \"EQUAL\" ? \n  strA ! strB \"NOT_EQUAL\" ? "
    }
  ]
}
