diff --git a/backends/BackendPassesTest.hs b/backends/BackendPassesTest.hs index b3c2175..e1735cf 100644 --- a/backends/BackendPassesTest.hs +++ b/backends/BackendPassesTest.hs @@ -304,8 +304,8 @@ qcTestDeclareSizes = valSize ds = A.IsExpr emptyMeta A.ValAbbrev (A.Array [dimension $ length ds] A.Int) $ makeSizesLiteral ds makeSizesLiteral :: [A.Expression] -> A.Expression - makeSizesLiteral xs = A.Literal emptyMeta (A.Array [dimension $ length xs] A.Int) $ A.ArrayLiteral emptyMeta $ - map A.ArrayElemExpr xs + makeSizesLiteral xs = A.Literal emptyMeta (A.Array [dimension $ length xs] A.Int) $ + A.ArrayListLiteral emptyMeta $ A.Several emptyMeta $ map (A.Only emptyMeta) xs checkFooSizes :: TestMonad m r => A.SpecType -> CompState -> m () checkFooSizes sp = checkName "foo_sizes" sp A.ValAbbrev diff --git a/backends/GenerateCTest.hs b/backends/GenerateCTest.hs index e29990f..fae1a9a 100644 --- a/backends/GenerateCTest.hs +++ b/backends/GenerateCTest.hs @@ -306,9 +306,12 @@ testStop = testArraySizes :: Test testArraySizes = TestList [ - testBothSame "genArrayLiteralElems 0" "$" $ unfolded (tcall genArrayLiteralElems [A.ArrayElemExpr undefined]) - ,testBothSame "genArrayLiteralElems 1" "$,$,$" $ unfolded (tcall genArrayLiteralElems [A.ArrayElemExpr undefined, A.ArrayElemExpr undefined, A.ArrayElemExpr undefined]) - ,testBothSame "genArrayLiteralElems 2" "$,$,$" $ unfolded (tcall genArrayLiteralElems [A.ArrayElemExpr undefined, A.ArrayElemArray [A.ArrayElemExpr undefined, A.ArrayElemExpr undefined]]) + testBothSame "genArrayLiteralElems 0" "$" $ unfolded (tcall genArrayLiteralElems $ + A.Only emptyMeta undefined) + ,testBothSame "genArrayLiteralElems 1" "$,$,$" $ unfolded (tcall genArrayLiteralElems $ + A.Several emptyMeta [A.Only emptyMeta undefined, A.Only emptyMeta undefined, A.Only emptyMeta undefined]) + ,testBothSame "genArrayLiteralElems 2" "$,$,$" $ unfolded (tcall genArrayLiteralElems $ + A.Several emptyMeta [A.Only emptyMeta undefined, A.Several emptyMeta [A.Only emptyMeta undefined, A.Only emptyMeta undefined]]) ] where unfolded :: Override diff --git a/frontends/OccamTypesTest.hs b/frontends/OccamTypesTest.hs index 0172fc7..deea784 100644 --- a/frontends/OccamTypesTest.hs +++ b/frontends/OccamTypesTest.hs @@ -73,7 +73,7 @@ startState defineProc "proc2" [("x", A.ValAbbrev, A.Int), ("y", A.Abbrev, A.Int)] where intsT = A.Array [A.UnknownDimension] A.Int - arrayLit = A.ArrayLiteral m [] + arrayLit = A.ArrayListLiteral m $ A.Several m [] chanT t = A.Chan (A.ChanAttributes False False) t chanIntT = chanT A.Int countedIntsT = chanT $ A.UserProtocol (simpleName "countedInts") @@ -144,9 +144,6 @@ testOccamTypes = TestList , testFail 113 $ A.Dyadic m A.And boolE intE , testFail 114 $ A.Dyadic m A.And intE boolE , testFail 115 $ A.Dyadic m A.Add twoIntsE twoIntsE - , testOK 116 $ A.Dyadic m A.Concat listE listE - , testFail 117 $ A.Dyadic m A.Concat listE intE - , testFail 118 $ A.Dyadic m A.Concat intE listE -- Miscellaneous expressions , testOK 150 $ A.MostPos m A.Int @@ -302,7 +299,6 @@ testOccamTypes = TestList , testFail 1201 $ testRep i $ A.For m realE intE intE , testFail 1202 $ testRep i $ A.For m intE realE intE , testOK 1203 $ testRep i $ A.ForEach m twoIntsE - , testOK 1204 $ testRep i $ A.ForEach m listE , testFail 1205 $ testRep i $ A.ForEach m intE , testFail 1206 $ testRep i $ A.For m intE intE realE @@ -554,11 +550,12 @@ testOccamTypes = TestList twoTwoIntsT = A.Array [dimension 2, dimension 2] A.Int twoBytesT = A.Array [dimension 2] A.Byte threeIntsT = A.Array [dimension 3] A.Int - ae = A.ArrayElemExpr intE - twoInts = A.ArrayLiteral m [ae, ae] + ae = A.Only m intE + twoInts = A.ArrayListLiteral m $ A.Several m [ae, ae] twoIntsE = A.Literal m twoIntsT twoInts - twoTwoInts = A.ArrayLiteral m [A.ArrayElemArray [ae, ae], - A.ArrayElemArray [ae, ae]] + twoTwoInts = A.ArrayListLiteral m $ A.Several m + [A.Several m [ae, ae], + A.Several m [ae, ae]] twoTwoIntsE = A.Literal m twoTwoIntsT twoTwoInts myIntT = A.UserDataType (simpleName "MYINT") myTwoIntsT = A.UserDataType (simpleName "MY2INT") @@ -585,8 +582,6 @@ testOccamTypes = TestList function1 = simpleName "function1" function2 = simpleName "function2" function22 = simpleName "function22" - listT = A.List A.Int - listE = A.Literal m listT (A.ListLiteral m [intE, intE, intE]) i = simpleName "i" countedIntsC = variable "chanCountedInts" countedIntsCin = A.DirectedVariable emptyMeta A.DirInput countedIntsC