12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- abstract type StarpuExpr end
- function apply(func :: Function, expr :: StarpuExpr)
- return func(expr)
- end
- struct StarpuExprVar <: StarpuExpr
- name :: Symbol
- end
- print(io :: IO, x :: StarpuExprVar ; indent = 0) = print(io, x.name)
- struct StarpuExprValue <: StarpuExpr
- value :: Any
- end
- function print(io :: IO, x :: StarpuExprValue ; indent = 0)
- value = x.value
- if value == nothing
- return
- end
- if isa(value, AbstractString)
- print(io, '"', value, '"')
- return
- end
- if isa(value, Char)
- print(io, '\'', value, '\'')
- return
- end
- print(io, value)
- end
- struct StarpuExprInvalid <: StarpuExpr
- end
- print(io :: IO, x :: StarpuExprInvalid ; indent = 0) = print(io, "INVALID")
- function starpu_parse(raw_value :: Any)
- return StarpuExprValue(raw_value)
- end
- function starpu_parse(sym :: Symbol)
- return StarpuExprVar(sym)
- end
|