diff --git a/csharp/Platform.Protocols.Lino.Tests/ParserTests.cs b/csharp/Platform.Protocols.Lino.Tests/ParserTests.cs
index 1106c9f..e6f5e08 100644
--- a/csharp/Platform.Protocols.Lino.Tests/ParserTests.cs
+++ b/csharp/Platform.Protocols.Lino.Tests/ParserTests.cs
@@ -221,11 +221,11 @@ public static void EmptyLinkWithParenthesesTest()
Assert.Equal(target, formattedLinks);
}
- [Fact(Skip = "Not implemented yet")]
+ [Fact]
public static void EmptyLinkWithEmptySelfReferenceTest()
{
var source = @"(:)";
- var target = @"(:)";
+ var target = @"()";
var parser = new Parser();
var links = parser.Parse(source);
var formattedLinks = links.Format();
diff --git a/csharp/Platform.Protocols.Lino/Parser.peg b/csharp/Platform.Protocols.Lino/Parser.peg
index 3ca28f7..da4a4a0 100644
--- a/csharp/Platform.Protocols.Lino/Parser.peg
+++ b/csharp/Platform.Protocols.Lino/Parser.peg
@@ -14,8 +14,8 @@ multiLineValueAndWhitespace > = value:referenceOrLink _ { value }
multiLineValues >> = _ list:multiLineValueAndWhitespace* { list }
singleLineValueAndWhitespace > = __ value:referenceOrLink { value }
singleLineValues >> = list:singleLineValueAndWhitespace+ { list }
-singleLineLink > = __ id:(reference) __ ":" v:singleLineValues { new Link(id, v) }
-multiLineLink > = "(" _ id:(reference) _ ":" v:multiLineValues _ ")" { new Link(id, v) }
+singleLineLink > = __ id:(reference) __ ":" v:singleLineValues { new Link(id, v) } / __ ":" v:singleLineValues { new Link(null, v) }
+multiLineLink > = "(" _ id:(reference) _ ":" v:multiLineValues _ ")" { new Link(id, v) } / "(" _ ":" v:multiLineValues _ ")" { new Link(null, v) }
singleLineValueLink > = v:singleLineValues { new Link(v) }
multiLineValueLink > = "(" v:multiLineValues _ ")" { new Link(v) }
pointLink > = id:(reference) { new Link(id) }