По умолчанию Column
расширяется, чтобы заполнить максимальное вертикальное пространство. Вы можете изменить это поведение, установив для свойства mainAxisSize
значение MainAxisSize.min
, в результате чего Column
будет занимать только минимальный объем вертикального пространства, необходимый для его дочерних элементов.
Я не знаю лучших , но вы можете посмотреть Ragel :
Рагель компилирует исполняемые конечные автоматы из обычных языков. Ragel нацелен на C, C ++, Objective-C, D, Java и Ruby. Конечные автоматы Рагеля могут не только распознавать последовательности байтов, как это делают машины регулярных выражений, но также могут выполнять код в произвольных точках распознавания регулярного языка.
См. Ответ, который я дал на этот вопрос , SMC также может генерировать код C ++. Я не могу прокомментировать качество созданного C ++, но для C # оно удовлетворительное.