Для начала разработчик определяет используемые в пакете типы:
hiSys.hws
#hws
...
// register own types
register(1, int)
register(2, str)
...
hiSys.hws
#hws
...
func to_type(value, type)
if(type == 1)
return(to_int(value))
elseif(type == 2)
return(to_str(value))
end
return(value)
end
...
hiSys.hws
#hws
...
func to_str(value)
t = code_type(value)
if(t == 1)
return('(' + value + ').ToString()')
end
return(value)
end
func to_int(value)
t = code_type(value)
if(t == 2)
return('Int32.Parse(' + value + ')')
end
return(value)
end
...
ini
#ini
[Methods]
...
data=Defines the data. ARG(string)|4|2
...
hws
#hws
...
func doValue(data)
blk.println(this.codename, ' = ', d("data"), ';')
event("onValue", this.codename)
end
...
hws
#hws
...
func Var
return(sub(data, type_id))
end
...