ometa AnBn <: Parser { Lang = A end, A = "0" A:a "1" -> ["0", a, "1"] | "" } AnBn.matchAll("000111", "Lang") AnBn.matchAll("00011", "Lang") var a = ['000111', '01', '01', '0011', '0000011111'] for(var i = 0; i < a.length; i++){ alert(AnBn.matchAll(a[i], "Lang")) } ometa NotAnBnCn { }