私は現在、C# のスーパーセットである言語に取り組んでいます。ただし、レクサーにジェネリック型ブラケットの開閉を認識させるのに苦労しています。具体的には、同様のtypeof()
式で使用される型式を開きtypeof(List<List<>>)
ます。
3 つのルールがある場合:
OpenTriangleBracket
: '<'
;
CloseTriangleBracket
: '>'
;
Symbol
: ('>' | '<')+
;
下記タイプの(1)は正常に認識されます( <
)。ただし、(2)の部分は記号( <>>
)として認識されます。通常、これは望ましい動作です。<
型であれば、3 つの部分 ( 、>
、 )として認識されるようにしたいです>
。
List<List<>>
v ^v^
1 2
どうすればそれをそのように認識させることができますか?パーサー部分を自分で書いているので、実装方法を完全に制御できます。