A scope of a SRON's code starts with a function and it is started with an open curly brace '{' and ended with a close curly brace '}'.
Almost all instructions inside a function are written in the below format:
attribute : statement
Attribute defines the types of statement. There are many attributes given in SRON like :
1) name : this attribute is used to declare a function name.
{ name : function_name}
2) args : this attribute is used to declare a function arguments.
{ name : fnc args : (Int a, String b)}{ name :MAIN args : (List arglist)}
3) console : this attribute is used to print variables.
{ name :MAIN console : ("Hello, World!")}
4) type : this attribute is used to set the return type of the function
{ name : get_int type : Intreturn : 3.141578}
5) return : this attribute is used to return a value from a function
{ name : get_pireturn : PI}
6) for : this attribute is used to declare a for-loop.
{ name :MAIN for : { range : (Int i =0,5)println(i) }}
7) range : this attribute is used to declare the range of for-loop.
{ name :MAIN for : { range : (Int i =0,5) }}
8) while : this attribute is used to declare a while loop.
{ name :MAINwhile : { condition :true }}
9) condition : this attribute is used to check if the given condition is true or false. This attribute is used with 'while', 'if' and 'elif' attributes.
{ name :MAINwhile : { condition :false @ the statement of condition attribute only requires a 'Bool' type value. }}
10) if : this attribute is used to declare a if statement.
{ name :MAIN Any val =10if : { @ the integer value can be converted to boolean type value condition : valprintln(val) }}
11) elif : this attribute is used to declare an elif statement.
{ name :MAIN Int val =9if : { condition :~{ val%2 == 0 }~println("Even") } elif : { condition :~{ val%3==0 }~ @ the control flow will come here only if the code within the 'if' @ attribute will not be executed.println("Divisible by Three") }}
12) else : this attribute is used to declare a else statement.
{ name :MAIN variables : Int val =7if : { condition :~{ val%2 == 0 }~println("Even") }else : {println("Odd") @ this statement will execute only if the above @ if-attribute is not executed. }}
13) free : this attribute is used to release a variable from memory.
{ name :MAIN Int val =27 @ printing the variable 'val'println(val) free : val @ accessing the value after deallocation. This @ will throw an exception (runtime error).println(val)}
14) foreach : this attribute is used to iterate linearly over String or List.
{ name : main foreach : { @ 'on' attribute is used to specify on what value @ will the foreach will iterate with what variable on : Any val, [1,2,3,4,5]println(val) }}
15) rotate : this attribute is used to rotate value or swap value.
{ name : main Int val1 =91 Double val2 =1001.27112 String val3 ="SRON"println(val1,' ', val2 ,' ', val3) rotate : (val1 , val2, val3)println(val1,' ', val2 ,' ', val3)}