const2Pattern function
Implementation
String const2Pattern(List<List<String>> constantRules) {
return constantRules.whereType<List<String>>().map((element) {
var orparts = <String>[...element];
var blankAllowed = false;
orparts = (orparts
..removeWhere((element) {
return element.isEmpty && (blankAllowed = true);
}))
.map((cstnt) => constantEscape(cstnt))
.toList();
if (orparts.isNotEmpty) {
return '(' + orparts.join('|') + ')' + (blankAllowed ? '?' : '');
} else {
return '';
}
}).join();
}