Why does Roslyn have two versions of the syntax for each language?

I look at the Roslyn code base and notice that they have two versions of the syntax (one internal and one public). Often they are apparently referred to as “red” nodes and “green” nodes. I am wondering if anyone can explain what is arguing for the existence of two versions of the syntax.

+4
source share
1 answer

From Persistence, facades and gravels Red-green trees :

"" , , , " ", node , . , , , O (log n) .

"" - , ; " " . , , . , , , .

, API Roslyn, - ; - . ( node, , node : node.)

, "/ ", , . .

+8

Source: https://habr.com/ru/post/1658955/


All Articles