private static RelocatableModule Assemble(Casl2Program program) { RelocatableModule relModule = new RelocatableModule(); Boolean processingError = program.ProcessTextLines(relModule.LabelTable); if (processingError) { // ソーステキストの処理でエラーなら、ここで終了。 return(null); } else { // ソーステキストの処理に成功すれば、ラベルのオフセットを設定し、コードを生成する。 program.ProcessedLines .SetLabelOffset(relModule.LabelTable) .GenerateCode(relModule); return(relModule); } }
internal static RelocatableModule AssembleForUnitTest(Casl2Program program) { return(Assemble(program)); }