in code/library/src/main/kotlin/org/fbme/lib/iec61499/parser/STConverter.kt [68:92]
fun parseArrayDimensions(factory: STFactory, text: String): ArrayTypeDimensions? {
val arrayDimensionsCtx = createParser(text).arrayTypeDimensions()
if (arrayDimensionsCtx is ArrayTypeSubrangesContext) {
val subranges = factory.createArrayTypeSubranges()
val subrangeCtxs = arrayDimensionsCtx.subranges
for (subrangeCtx in subrangeCtxs) {
val subrange = factory.createSubrange()
subrange.from = subrangeCtx.from.text.toInt()
subrange.to = subrangeCtx.to.text.toInt()
subranges.subranges += subrange
}
return subranges
}
if (arrayDimensionsCtx is ArrayTypeSizesContext) {
val sizes = factory.createArrayTypeSizes()
val sizeCtxs = arrayDimensionsCtx.sizes
for (sizeCtx in sizeCtxs) {
val size = factory.createSize()
size.value = sizeCtx.text.toInt()
sizes.sizes += size
}
return sizes
}
return null
}