; Category list
[CATEGORIES]
ITEMS=9
1=All
2=Conditional
3=Comparsion Operators
4=Logical Operators
5=Arithmetic Operations
6=Bit Operations
7=Bit Functions
8=Word Functions
9=Others

; Function list
[CATEGORY_All]
Items=68
1=if() 
2=if() else
3=if() else if() else
4=while()
5=break
6=return
7=switch case default
8=Equal
9=Not equal
10=Less than
11=Less than or equal
12=Greater than
13=Greater than or equal
14=AND
15=OR
16=NOT
17=Add
18=Subtraction
19=Multiplication
20=Division
21=Remainder
22=Substitution
23=Bit AND
24=Bit OR
25=Bit XOR
26=Invert Bit
27=Left Shift
28=Right Shift
29=SET()
30=RST()
31=REV()
32=MAX()
33=MIN()
34=BCD2BIN()
35=BIN2BCD()
36=Comment
37=Decimal Constant
38=Hexadecimal Constant
39=Float32 Constant
40=Device
41=Temporary Device
42=FLOAT2BIN()
43=BIN2FLOAT()
44=OFFSET()
45=EXP()
46=LOGE()
47=LOG10()
48=POW()
49=ROOT()
50=ACOS()
51=ASIN()
52=ATAN()
53=COS()
54=SIN()
55=TAN()
56=RAD()
57=DEG()
58=MEMCMP()
59=MEMCPY()
60=DEC2ASCII()
61=ASCII2DEC()
62=LINE()
63=RECTANGLE()
64=CIRCLE()
65=STRCUT()
66=STRLEN()
67=STRCAT()
68=STRSTR()

[CATEGORY_Conditional]
Items=7
1=if() 
2=if() else
3=If() else if() else
4=while()
5=break
6=return
7=switch case default

[CATEGORY_Comparsion Operators]
Items=6
1=Equal
2=Not equal
3=Less than
4=Less than or equal
5=Greater than
6=Greater than or equal

[CATEGORY_Logical Operators]
Items=3
1=AND
2=OR
3=NOT

[CATEGORY_Arithmetic Operations]
Items=6
1=Add
2=Subtraction
3=Multiplication
4=Division
5=Remainder
6=Substitution

[CATEGORY_Bit Operations]
Items=6
1=Bit AND
2=Bit OR
3=Bit XOR
4=Invert Bit
5=Left Shift
6=Right Shift

[CATEGORY_Bit Functions]
Items=3
1=SET()
2=RST()
3=REV()

[CATEGORY_Word Functions]
Items=31
1=MAX()
2=MIN()
3=BCD2BIN()
4=BIN2BCD()
5=FLOAT2BIN()
6=BIN2FLOAT()
7=OFFSET()
8=EXP()
9=LOGE()
10=LOG10()
11=POW()
12=ROOT()
13=ACOS()
14=ASIN()
15=ATAN()
16=COS()
17=SIN()
18=TAN()
19=RAD()
20=DEG()
21=MEMCMP()
22=MEMCPY()
23=DEC2ASCII()
24=ASCII2DEC()
25=LINE()
26=RECTANGLE()
27=CIRCLE()
28=STRCUT()
29=STRLEN()
30=STRCAT()
31=STRSTR()

[CATEGORY_Others]
Items=6
1=Comment
2=Decimal Constant
3=Hexadecimal Constant
4=Float32 Constant
5=Device
6=Temporary Device

; Definition of Function
[FUNCTION_if()]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="if(Condition){Statement;}"
DESCRIPTION_2="When Condition is satisfied, Statement is executed."
NO_OF_LINES_FORMAT=4
FORMAT_1="if([LDR 100] == 10)"
FORMAT_2="{"
FORMAT_3="    [LDR 101] = [LDR 102] + 1;"
FORMAT_4="}"

[FUNCTION_if() else]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=3
DESCRIPTION_1="if(Condition){Statement1;}else{Statement2;}"
DESCRIPTION_2="When Condition is satisfied, Statement1 is executed."
DESCRIPTION_3="When Condition isn't satisfied, Statement2 is executed."
NO_OF_LINES_FORMAT=8
FORMAT_1="if([LDR 100] == 10)"
FORMAT_2="{"
FORMAT_3="    [LDR 101] = [LDR 102] + 1;"
FORMAT_4="}"
FORMAT_5="else"
FORMAT_6="{"
FORMAT_7="    [LDR 111] = [LDR 112] + 1;"
FORMAT_8="}"

[FUNCTION_If() else if() else]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=4
DESCRIPTION_1="if(Condition1){Statement1;}else if(Condition2){Statement2;}else{Statement3;}"
DESCRIPTION_2="When Condition1 is satisfied, Statement1 is executed."
DESCRIPTION_3="When Condition1 isn't satisfied and Condition2 is satisfied, Statement2 is executed."
DESCRIPTION_4="When Condition1 and 2 aren't satisfied, Statement3 is executed."
NO_OF_LINES_FORMAT=12
FORMAT_1="if([LDR 100] == 10)"
FORMAT_2="{"
FORMAT_3="    [LDR 101] = [LDR 102] + 1;"
FORMAT_4="}"
FORMAT_5="else if([LDR 110] == 11)"
FORMAT_6="{"
FORMAT_7="    [LDR 111] = [LDR 112] + 1;"
FORMAT_8="}"
FORMAT_9="else"
FORMAT_10="{"
FORMAT_11="    [LDR 121] = [LDR 122] + 1;"
FORMAT_12="}"

[FUNCTION_while()]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="while(Condition){Statement;}"
DESCRIPTION_2="The execution of Statement is repeated while Condition is satisfied."
NO_OF_LINES_FORMAT=4
FORMAT_1="while([LDR 100] < 10)"
FORMAT_2="{"
FORMAT_3="    [LDR 100] = [LDR 100] + 1;"
FORMAT_4="}"

[FUNCTION_break]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="break;"
DESCRIPTION_2="Break while or switch statement."
NO_OF_LINES_FORMAT=1
FORMAT_1="break;"

[FUNCTION_return]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="return;"
DESCRIPTION_2="Exit this script."
NO_OF_LINES_FORMAT=1
FORMAT_1="return;"

[FUNCTION_switch case default]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=3
DESCRIPTION_1="switch(Conditional Value){case Constant1: Statement1;break; default: Statement2;break;}"
DESCRIPTION_2="When Conditional Value is equal to Constant1, Statement1 is executed."
DESCRIPTION_3="When Conditional Value isn't equal to Constant1, Statement2 is executed."
NO_OF_LINES_FORMAT=9
FORMAT_1="switch([LDR 100])"
FORMAT_2="    {"
FORMAT_3="    case 0:"
FORMAT_4="        break;"
FORMAT_5="    case 1:"
FORMAT_6="        break;"
FORMAT_7="    default:"
FORMAT_8="        break;"
FORMAT_9="    }"

[FUNCTION_Equal]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="Argument1 == Argument2 (Argument: Constants, all Word devices)"
DESCRIPTION_2="Argument1 equal equal Argument2"
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] == [LDR 101]"

[FUNCTION_Not equal]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="Argument1 != Argument2 (Argument: Constants, all Word devices)"
DESCRIPTION_2="Argument1 not equal to Argument2"
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] != [LDR 101]"

[FUNCTION_Less than]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="Argument1 < Argument2 (Argument: Constants, all Word devices)"
DESCRIPTION_2="Argument1 less than Argument2"
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] < [LDR 101]"

[FUNCTION_Less than or equal]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="Argument1 <= Argument2 (Argument: Constants, all Word devices)"
DESCRIPTION_2="Argument1 less than or equal to Argument2"
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] <= [LDR 101]"

[FUNCTION_Greater than]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="Argument1 > Argument2 (Argument: Constants, all Word devices)"
DESCRIPTION_2="Argument1 greater than Argument2"
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] > [LDR 101]"

[FUNCTION_Greater than or equal]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="Argument1 >= Argument2 (Argument: Constants, all Word devices)"
DESCRIPTION_2="Argument1 greater than or equal to Argument2"
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] >= [LDR 101]"

[FUNCTION_AND]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="Argument1 &&&& Argument2 (Argument: Constants, all Bit/Word devices)"
DESCRIPTION_2="Logical AND Argument1 and Argument2"
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] && [LDR 101]"

[FUNCTION_OR]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="Argument1 || Argument2 (Argument: Constants, all Bit/Word devices)"
DESCRIPTION_2="Logical OR Argument1 and Argument2"
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] || [LDR 101]"

[FUNCTION_NOT]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="! Argument (Argument: Constants, all Bit/Word devices)"
DESCRIPTION_2="Logical NOT Argument"
NO_OF_LINES_FORMAT=1
FORMAT_1="!([LDR 100] == [LDR 101])"

[FUNCTION_Add]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="Argument1 + Argument2 (Argument: Constants, all Word devices)"
DESCRIPTION_2="Add Argument2 to Argument1"
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] + [LDR 101]"

[FUNCTION_Subtraction]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="Argument1 - Argument2 (Argument: Constants, all Word devices)"
DESCRIPTION_2="Subtract Argument2 from Argument1"
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] - [LDR 101]"

[FUNCTION_Multiplication]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="Argument1 * Argument2 (Argument: Constants, all Word devices)"
DESCRIPTION_2="Multiply Argument2 with Argument1"
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] * [LDR 101]"

[FUNCTION_Division]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="Argument1 / Argument2 (Argument: Constants, all Word devices)"
DESCRIPTION_2="Divide Argument1 by Argument2"
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] / [LDR 101]"

[FUNCTION_Remainder]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="Argument1 % Argument2 (Argument: Constants, all Word devices)"
DESCRIPTION_2="Remainder of Argument1 divided by Argument2"
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] % [LDR 101]"

[FUNCTION_Substitution]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="Argument1 = Argument2"
DESCRIPTION_2="(Argument1: Writable Bit/Word devices, Argument2: Constants, all Bit/Word devices)"
DESCRIPTION_3="Substitute Argument2 to Argument2"
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] = [LDR 101];"

[FUNCTION_Bit AND]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="Argument1 & Argument2 (Argument: Constants, all Bit/Word devices)"
DESCRIPTION_2="Bit AND Argument1 and Argument2"
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] & [LDR 101]"

[FUNCTION_Bit OR]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="Argument1 | Argument2 (Argument: Constants, all Bit/Word devices)"
DESCRIPTION_2="Bit OR Argument1 and Argument2"
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] | [LDR 101]"

[FUNCTION_Bit XOR]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="Argument1 ^ Argument2 (Argument: Constants, all Bit/Word devices)"
DESCRIPTION_2="Bit XOR Argument1 and Argument2"
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] ^ [LDR 101]"

[FUNCTION_Invert Bit]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="~ Argument (Argument: Constants, all Bit/Word devices)"
DDESCRIPTION_2="Invert Bit of Argument"
NO_OF_LINES_FORMAT=1
FORMAT_1="~ [LDR 100]"

[FUNCTION_Left shift]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="Argument1 << Argument2 (Argument: Constants, all Bit/Word devices)"
DESCRIPTION_2="Shift Bit of Argument1 to Left"
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] << [LDR 101]"

[FUNCTION_Right shift]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="Argument1 >> Argument2 (Argument: Constants, all Bit/Word devices)"
DDESCRIPTION_2="Shift Bit of Argument1 to Right"
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] >> [LDR 101]"

[FUNCTION_SET()]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="SET(Argument) (Argument: Writable Bit devices)"
DESCRIPTION_2="Set 1 to Argument"
NO_OF_LINES_FORMAT=1
FORMAT_1="SET([LM 100]);"

[FUNCTION_RST()]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="RST(Argument) (Argument: Writable Bit devices)"
DESCRIPTION_2="Set 0 to Argument"
NO_OF_LINES_FORMAT=1
FORMAT_1="RST([LM 100]);"

[FUNCTION_REV()]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="REV(Argument) (Argument: Writable Bit devices)"
DESCRIPTION_2="Reverse the state of Argument"
NO_OF_LINES_FORMAT=1
FORMAT_1="REV([LM 100]);"

[FUNCTION_MAX()]
FUNCTION=1
CODE=0x0A24
NO_PARAMETER=1,15
RETURN_VALUE=1
DATA_TYPE=Bin16(+),Bin16(+/-),Bin32(+),Bin32(+/-),BCD4,BCD8,float32
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="MAX(Argument1, Argument2, ---, Argument15) (Argument: Constants, all Word devices)"
DESCRIPTION_2="Return maximum value from Argument1 to Argument15."
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] = MAX([LDR 101], [LDR 102], [LDR 103]);"

[FUNCTION_MIN()]
FUNCTION=1
CODE=0x0A25
NO_PARAMETER=1,15
RETURN_VALUE=1
DATA_TYPE=Bin16(+),Bin16(+/-),Bin32(+),Bin32(+/-),BCD4,BCD8,float32
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="MIN(Argument1, Argument2, ---, Argument15) (Argument: Constants, all Word devices)"
DESCRIPTION_2="Return minimum value from Argument1 to Argument15."
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] = MIN([LDR 101], [LDR 102], [LDR 103]);"

[FUNCTION_BCD2BIN()]
FUNCTION=1
CODE=0x0A22
NO_PARAMETER=1
RETURN_VALUE=1
DATA_TYPE=Bin16(+),Bin16(+/-),Bin32(+),Bin32(+/-)
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="BCD2BIN(Argument) (Argument: all Word devices)"
DESCRIPTION_2="Convert Argument from BCD to BIN"
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] = BCD2BIN([LDR 101]);"

[FUNCTION_BIN2BCD()]
FUNCTION=1
CODE=0x0A23
NO_PARAMETER=1
RETURN_VALUE=1
DATA_TYPE=Bin16(+),Bin16(+/-),Bin32(+),Bin32(+/-)
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="BIN2BCD(Argument) (Argument: all Word devices)"
DESCRIPTION_2="Convert Argument from BIN to BCD"
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] = BIN2BCD([LDR 101]);"

[FUNCTION_FLOAT2BIN()]
FUNCTION=1
CODE=0x0A26
NO_PARAMETER=1
RETURN_VALUE=1
DATA_TYPE=Bin32(+),Bin32(+/-)
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="FLOAT2BIN(Argument) (Argument: all Word devices)"
DESCRIPTION_2="Convert Argument from Float to BIN"
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] = FLOAT2BIN([LDR 110]);"

[FUNCTION_BIN2FLOAT()]
FUNCTION=1
CODE=0x0A27
NO_PARAMETER=1
RETURN_VALUE=1
DATA_TYPE=Bin32(+),Bin32(+/-)
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="BIN2FLOAT(Argument) (Argument: all Word devices)"
DESCRIPTION_2="Convert Argument from BIN to Float"
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] = BIN2FLOAT([LDR 110]);"

[FUNCTION_OFFSET()]
FUNCTION=1
CODE=0x0104
NO_PARAMETER=2
RETURN_VALUE=1
DATA_TYPE=Bin16(+),Bin16(+/-),Bin32(+),Bin32(+/-),BCD4,BCD8,float32
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="OFFSET(Argument1,Argument2) (Argument1: all devices, Argument2: all Word devices)"
DESCRIPTION_2="Argument1 is base device address and Argument2 is offset device address"
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] = OFFSET([LDR 110],[LDR 200]);"

[FUNCTION_EXP()]
FUNCTION=1
CODE=0x0A06
NO_PARAMETER=1
RETURN_VALUE=1
DATA_TYPE=float32
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="EXP(Argument1) (Argument1: Constants and all Word devices)"
DESCRIPTION_2=
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] = EXP([LDR 110]);"

[FUNCTION_LOGE()]
FUNCTION=1
CODE=0x0A07
NO_PARAMETER=1
RETURN_VALUE=1
DATA_TYPE=float32
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="LOGE(Argument1) (Argument1: Constants and all Word devices)"
DESCRIPTION_2=
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] = LOGE([LDR 110]);"

[FUNCTION_LOG10()]
FUNCTION=1
CODE=0x0A09
NO_PARAMETER=1
RETURN_VALUE=1
DATA_TYPE=float32
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="LOG10(Argument1) (Argument1: Constants and all Word devices)"
DESCRIPTION_2=
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] = LOG10([LDR 110]);"

[FUNCTION_POW()]
FUNCTION=1
CODE=0x0A0A
NO_PARAMETER=2
RETURN_VALUE=1
DATA_TYPE=float32
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="POW(Argument1,Argument2) (Argument: Constants and all Word devices)"
DESCRIPTION_2=
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] = POW([LDR 110],[LDR 111]);"

[FUNCTION_ROOT()]
FUNCTION=1
CODE=0x0A0B
NO_PARAMETER=1
RETURN_VALUE=1
DATA_TYPE=float32
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="ROOT(Argument1) (Argument1: Constants and all Word devices)"
DESCRIPTION_2=
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] = ROOT([LDR 110]);"

[FUNCTION_ACOS()]
FUNCTION=1
CODE=0x0A16
NO_PARAMETER=1
RETURN_VALUE=1
DATA_TYPE=float32
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="ACOS(Argument1) (Argument1: Constants and all Word devices)"
DESCRIPTION_2=
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] = ACOS([LDR 110]);"

[FUNCTION_ASIN()]
FUNCTION=1
CODE=0x0A17
NO_PARAMETER=1
RETURN_VALUE=1
DATA_TYPE=float32
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="ASIN(Argument1) (Argument1: Constants and all Word devices)"
DESCRIPTION_2=
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] = ASIN([LDR 110]);"

[FUNCTION_ATAN()]
FUNCTION=1
CODE=0x0A18
NO_PARAMETER=1
RETURN_VALUE=1
DATA_TYPE=float32
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="ATAN(Argument1) (Argument1: Constants and all Word devices)"
DESCRIPTION_2=
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] = ATAN([LDR 110]);"

[FUNCTION_COS()]
FUNCTION=1
CODE=0x0A19
NO_PARAMETER=1
RETURN_VALUE=1
DATA_TYPE=float32
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="COS(Argument1) (Argument1: Constants and all Word devices)"
DESCRIPTION_2=
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] = COS([LDR 110]);"

[FUNCTION_SIN()]
FUNCTION=1
CODE=0x0A1A
NO_PARAMETER=1
RETURN_VALUE=1
DATA_TYPE=float32
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="SIN(Argument1) (Argument1: Constants and all Word devices)"
DESCRIPTION_2=
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] = SIN([LDR 110]);"

[FUNCTION_TAN()]
FUNCTION=1
CODE=0x0A1B
NO_PARAMETER=1
RETURN_VALUE=1
DATA_TYPE=float32
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="TAN(Argument1) (Argument1: Constants and all Word devices)"
DESCRIPTION_2=
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] = TAN([LDR 110]);"

[FUNCTION_RAD()]
FUNCTION=1
CODE=0x0A28
NO_PARAMETER=1
RETURN_VALUE=1
DATA_TYPE=float32
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="RAD(Argument1) (Argument1: Constants and all Word devices)"
DESCRIPTION_2=
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] = RAD([LDR 110]);"

[FUNCTION_DEG()]
FUNCTION=1
CODE=0x0A29
NO_PARAMETER=1
RETURN_VALUE=1
DATA_TYPE=float32
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="DEG(Argument1) (Argument1: Constants and all Word devices)"
DESCRIPTION_2=
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] = DEG([LDR 110]);"

[FUNCTION_Comment]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="//"
DESCRIPTION_2="Set // to the front of Comment"
NO_OF_LINES_FORMAT=1
FORMAT_1="//"

[FUNCTION_Decimal Constant]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=3
DESCRIPTION_1="Constant (Constant: Bin16(+): 0 to 65535, Bin16(+/-): -32768 to 32767, Bin32(+): 0 to 4294967295,"
DESCRIPTION_2="Bin32(+/-): -2147483648 to 2147483647, BCD4: -999 to 9999, BCD8: -9999999 to 99999999)"
DESCRIPTION_3="Set decimal value. When Data Type isn't float32, it is available."
NO_OF_LINES_FORMAT=1
FORMAT_1="10"

[FUNCTION_Hexadecimal Constant]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=3
DESCRIPTION_1="0xConstant, Constanth (Constant: Bin16(+): 0x0000 to 0xFFFF, Bin32(+): 0x00000000 to 0xFFFFFFFF)"
DESCRIPTION_2="Set hexadecimal value. When Data Type is Bin16(+) or Bin32(+), it is available."
DESCRIPTION_3="Set 0x to the front of Constant or h to the tail of Constant."
NO_OF_LINES_FORMAT=1
FORMAT_1="0x10"

[FUNCTION_Float32 Constant]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="Constant (Constant: -3.4000E+38 to -1.1800E-38, 0, 1.1800E-38 to 3.4000E+38)"
DESCRIPTION_2="Set float32 value. When Data Type is float32, it is available."
NO_OF_LINES_FORMAT=1
FORMAT_1="10.0"

[FUNCTION_Device]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="[Device Address] <Ex.:[LDR 10]>, [Device Address-Bit] <Ex.:[LDR 10-0]>"
DESCRIPTION_2="Open Device Browser if Insert Device button is clicked."
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100]"

[FUNCTION_Temporary Device]
FUNCTION=0
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="@## ##:1-16"
DESCRIPTION_2="A device that can only be used in a script. Becomes 0 when the script starts."
NO_OF_LINES_FORMAT=1
FORMAT_1="@16"

[FUNCTION_MEMCMP()]
FUNCTION=1
CODE=0x0A30
NO_PARAMETER=3
RETURN_VALUE=1
DATA_TYPE=Bin16(+),Bin16(+/-),Bin32(+),Bin32(+/-),BCD4,BCD8,float32
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="MEMCMP(Argument1,Argument2,Argument3)"
DESCRIPTION_2="(Argument1: Writable Bit/Word devices, Argument2: all Bit/Word devices, Argument3: Constant(1 to 64))"
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] = MEMCMP([LDR 200],[LDR 300],50);"

[FUNCTION_MEMCPY()]
FUNCTION=1
CODE=0x0A31
NO_PARAMETER=3
RETURN_VALUE=0
DATA_TYPE=Bin16(+),Bin16(+/-),Bin32(+),Bin32(+/-),BCD4,BCD8,float32
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="MEMCPY(Argument1,Argument2,Argument3)"
DESCRIPTION_2="(Argument1,Argument2: all Bit/Word devices, Argument3: Constant(1 to 64))"
NO_OF_LINES_FORMAT=1
FORMAT_1="MEMCPY([LDR 200],[LDR 300],50);"

[FUNCTION_LINE()]
FUNCTION=1
CODE=0x0b03
NO_PARAMETER=4,7
RETURN_VALUE=0
DATA_TYPE=Bin16(+),Bin16(+/-),Bin32(+),Bin32(+/-),BCD4,BCD8,float32
NO_OF_LINES_DESCRIPTION=4
DESCRIPTION_1="LINE(Start point X, Start point Y, End point X, End point Y, Line Width, Line Type, Color)"
DESCRIPTION_2="(All arguments: Constant, all Word devices, Arguments except Start point X/Y, End point X/Y can be omitted.)"
DESCRIPTION_3="(Line Width: 1,2,3,5, Line Type: 1 to 6, Color: 0 to 247)"
DESCRIPTION_4="Draws a Line."
NO_OF_LINES_FORMAT=1
FORMAT_1="LINE(0, 0, [LDR 100], @1);"

[FUNCTION_RECTANGLE()]
FUNCTION=1
CODE=0x0b04
NO_PARAMETER=4,11
RETURN_VALUE=0
DATA_TYPE=Bin16(+),Bin16(+/-),Bin32(+),Bin32(+/-),BCD4,BCD8,float32
NO_OF_LINES_DESCRIPTION=4
DESCRIPTION_1="RECTANGLE(Start point X, Start point Y, End point X, End point Y, Line Width, Line Type, Fore Color, Back Color, Pattern, Round Type, Round Radius)"
DESCRIPTION_2="(All arguments: Constant, all Word devices, Arguments except Start point X/Y, End point X/Y can be omitted.)"
DESCRIPTION_3="(Line Width: 1,2,3,5, Line Type: 1 to 6, Color: 0 to 247, Pattern: 0,2,3,4,7 to 13, Round Type: 0,1,2, Round Radius: 0 to 200)"
DESCRIPTION_4="Draws a Rectangle."
NO_OF_LINES_FORMAT=1
FORMAT_1="RECTANGLE([LDR 100], [LDR 101], [LDR 102], [LDR 103], 1, 1, [LDR 104], 0, 2, 0, 0);"

[FUNCTION_CIRCLE()]
FUNCTION=1
CODE=0x0b05
NO_PARAMETER=4,9
RETURN_VALUE=0
DATA_TYPE=Bin16(+),Bin16(+/-),Bin32(+),Bin32(+/-),BCD4,BCD8,float32
NO_OF_LINES_DESCRIPTION=4
DESCRIPTION_1="CIRCLE(Center point X, Center point Y, Major(X) axis, Minor(Y) axis, Line Width, Line Type, Fore Color, Back Color, Pattern)"
DESCRIPTION_2="(All arguments: Constant, all Word devices, Arguments except Center point X/Y, Major(X)/Minor(Y) axis can be omitted.)"
DESCRIPTION_3="(Line Width: 1,2,3,5, Line Type: 1 to 6, Color: 0 to 247, Pattern: 0,2,3,4,7 to 13)"
DESCRIPTION_4="Draws a Circle or Ellipse."
NO_OF_LINES_FORMAT=1
FORMAT_1="CIRCLE([LDR 100], [LDR 101], 20, 20, 1, 1, 12, 0, 2);"

[FUNCTION_DEC2ASCII()]
FUNCTION=1
CODE=0x0A32
NO_PARAMETER=2
RETURN_VALUE=0
DATA_TYPE=Bin16(+),Bin16(+/-),Bin32(+),Bin32(+/-),BCD4,BCD8
NO_OF_LINES_DESCRIPTION=2
DESCRIPTION_1="DEC2ASCII([Destination Device], [Source Device])"
DESCRIPTION_2="[Destination Device]: HG internal R/W Word devices, [Source Device]: all HG internal Word devices."
DESCRIPTION_3="Converts Decimal value to Ascii value"
NO_OF_LINES_FORMAT=1
FORMAT_1="DEC2ASCII([LDR 200],[LDR 300]);"

[FUNCTION_ASCII2DEC()]
FUNCTION=1
CODE=0x0A33
NO_PARAMETER=1
RETURN_VALUE=0
DATA_TYPE=Bin16(+),Bin16(+/-),Bin32(+),Bin32(+/-),BCD4,BCD8
NO_OF_LINES_DESCRIPTION=3	
DESCRIPTION_1="[Destination Device] = ASCII2DEC([Source Device])"
DESCRIPTION_2="[Destination Device]: HG internal R/W Word devices, [Source Device]: all HG internal Word devices"
DESCRIPTION_3="Converts Ascii value to Decimal value."	
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 200] = ASCII2DEC([LDR 300]);"

[FUNCTION_STRCUT()]
FUNCTION=1
CODE=0x0A34
NO_PARAMETER=4
RETURN_VALUE=0
DATA_TYPE=Bin16(+),Bin16(+/-),Bin32(+),Bin32(+/-),BCD4,BCD8,float32
NO_OF_LINES_DESCRIPTION=5	
DESCRIPTION_1="STRCUT([Destination Device], [Source Device], Start digit, Length of string)"
DESCRIPTION_2="[Destination Device]: HG internal R/W Word devices, [Source Device]: all HG internal Word devices,"	
DESCRIPTION_3="Start digit: Fixed value(0 to 127) or all HG internal Word devices,"
DESCRIPTION_4="Length of string: Fixed value(1 to 128) or all HG internal Word devices"
DESCRIPTION_5="Cuts string from Source string."
NO_OF_LINES_FORMAT=1
FORMAT_1="STRCUT([LDR 100], [LDR 200], 1, 3);"

[FUNCTION_STRLEN()]
FUNCTION=1
CODE=0x0A35
NO_PARAMETER=1
RETURN_VALUE=0
DATA_TYPE=Bin16(+),Bin16(+/-),Bin32(+),Bin32(+/-),BCD4,BCD8,float32
NO_OF_LINES_DESCRIPTION=3	
DESCRIPTION_1="[Destination Device] = STRLEN([Source Device])"
DESCRIPTION_2="[Destination Device]: HG internal R/W Word devices, [Source Device]: all HG internal Word devices"
DESCRIPTION_3="Counts the number of source string."	
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 100] = STRLEN([LDR 200]);"

[FUNCTION_STRCAT()]
FUNCTION=1
CODE=0x0A36
NO_PARAMETER=2
RETURN_VALUE=0
DATA_TYPE=Bin16(+),Bin16(+/-),Bin32(+),Bin32(+/-),BCD4,BCD8,float32
NO_OF_LINES_DESCRIPTION=3	
DESCRIPTION_1="STRCAT([Destination Device], [Source Device])"
DESCRIPTION_2="[Destination Device], [Source Device]: all HG internal Word devices"
DESCRIPTION_3="Combines two strings."	
NO_OF_LINES_FORMAT=1
FORMAT_1="STRCAT([LDR 100], [LDR 200]);"

[FUNCTION_STRSTR()]
FUNCTION=1
CODE=0x0A37
NO_PARAMETER=2
RETURN_VALUE=0
DATA_TYPE=Bin16(+),Bin16(+/-),Bin32(+),Bin32(+/-),BCD4,BCD8,float32
NO_OF_LINES_DESCRIPTION=4	
DESCRIPTION_1="[Destination Device] = STRSTR([Source Device1], [Source Device2])"
DESCRIPTION_2="[Destination Device]: HG internal R/W Word devices,"
DESCRIPTION_3="[Source Device1],[Source Device2]: all HG internal Word devices"
DESCRIPTION_4="Searches string from another string."	
NO_OF_LINES_FORMAT=1
FORMAT_1="[LDR 0] = STRSTR([LDR 100], [LDR 200]);"
