X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=mTaskMakeSymbols.icl;h=fc1fe5eb68a96e34363e78b1583b47dae665ebfd;hb=a81623aa9629a3c5c8f8bf920e494a596b30c4b7;hp=15b78e4f956f742712743f067bbc0c24421afbac;hpb=fe2e0f56c77de00d25686ab0b583a40595b35ab8;p=mTask.git diff --git a/mTaskMakeSymbols.icl b/mTaskMakeSymbols.icl index 15b78e4..fc1fe5e 100644 --- a/mTaskMakeSymbols.icl +++ b/mTaskMakeSymbols.icl @@ -1,9 +1,11 @@ module mTaskMakeSymbols //import iTasks -import gdynamic, gCons, GenEq, StdMisc, StdArray, GenBimap +import Generics.gCons +import GenEq, StdMisc, StdArray, GenBimap import GenPrint import mTask +import mTaskInterpret import StdEnum import StdFile @@ -15,11 +17,11 @@ import StdTuple import Data.Tuple import StdList from Data.Func import $ +import Data.List from Text import class Text(join,toUpperCase), instance Text String -derive consIndex BC derive consName BC -derive gconses BC, AnalogPin +derive conses BC (<+) infixr 5 :: a b -> String | toString a & toString b (<+) a b = toString a +++ toString b @@ -30,7 +32,7 @@ toDefine i b = "#define " <+ toUpperCase (consName{|*|} b) <+ " " <+ i Start w # (io, w) = stdio w # io = io <<< "#ifndef MTASK_H\n#define MTASK_H\n" -# io = io <<< join "\n" (map (uncurry toDefine) (zip2 [1..] conses)) +# io = io <<< join "\n" (zipWith toDefine [0..] conses{|*|}) # (ok, w) = fclose (io <<< "\n#endif\n") w | not ok = abort "Couldn't close stdio" = w