nullable集合の作成 🔗
構文規則から空規則の可能性がある規則を作成する。これをnullable集合とする。
nullable集合には大きく2つあり、まずは規則の全くないものである。
もうひとつは全ての規則がnullable集合に含まれるものである。
void : # voidは規則がないのでnullable
avoid : # 規則がない可能性があるのでnullable
| 'A'
able : void avoid # 全ての規則がnullableであるためnullable
disable : void 'A' # nullableでない記号が含まれるためnullableではない
nullable集合の作成は次の疑似コードで表す。
これをなくなるまで全てのノードに対し行う。
nullable集合 = 空規則のもの
foreach (line in 全ての規則)
if (lineの全ての規則がnullable集合であるか)
nullable集合にlineを追加