12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- include "primitives.alh"
- include "services.alh"
- include "constructors.alh"
- include "modelling.alh"
- Element function generic_compile(code : String, port : String):
- comm_set(port, code)
-
- String response
- response = comm_get(port)
- if (response == "OK"):
- Integer count
- Element lst
- lst = list_create()
- count = comm_get(port)
- while (count > 0):
- list_append(lst, comm_get(port))
- count = count - 1
- comm_close(port)
- return lst!
- else:
- log("Compilation error: " + response)
- comm_close(port)
- return read_root()!
- Element function compile_code(code : String):
- String port
- port = comm_connect("compiler")
- comm_set(port, "code")
- Element list
- list = generic_compile(code, port)
- if (element_eq(list, read_root())):
- return read_root()!
- else:
- return construct_function_list(list)!
- Element function compile_model(code : String, model : Element):
- String port
- port = comm_connect("compiler")
- comm_set(port, "model")
- Element list
- list = generic_compile(code, port)
- if (element_eq(list, read_root())):
- return read_root()!
- else:
- return construct_model_list(model, list)!
|