public ClassParser()
     : base("Class",
            Line
            .StartsWithMarker(Prefix.Marker(1)),
            Data
            .IgnoreBefore(Prefix.Marker(1)).ExcludeMarker()
            .IgnoreAfter(".").ExcludeMarker()
            .Trim(),
            Comment
            .IgnoreBefore(".").ExcludeMarker(),
            new IImpliedModelParser[]
 {
 },
            ClassModel.Factory
            )
 {
 }
 public LineParser(int level)
     : base("Redefines",
            Line.Multiple(
                Line.And(
                    Line.StartsWithMarker(Prefix.Marker(level)),
                    Line.Contains("REDEFINES")
                    ),
                Line.Optional(
                    Line.Repeat(Line.StartsWith(Prefix.Empty))
                    )
                ),
            Data.OnLine(0,
                        Data
                        .TruncateAtColumn(59)
                        .IgnoreBefore(Prefix.Marker(level)).ExcludeMarker()
                        .IgnoreAfter(".").ExcludeMarker()
                        .RemoveSpaces()
                        .Trim())
            .TruncateAt(59)
            .IgnoreAfter(".").ExcludeMarker()
            .RemoveSpaces()
            .Trim(),
            Comment
            .IgnoreBefore(59)
            .RemoveSpaces()
            .Trim(),
            new[]
 {
     OccursAndDataImpliedParser(),
     DataTypeParser.ImpliedParser(RedefinesModel.Factory),
     OccursParser.ImpliedParser(RedefinesModel.Factory),
 },
            RedefinesModel.Factory
            )
 {
 }