Skip to content

Commit 0f814a5

Browse files
committed
Check other templates
1 parent 6e734d8 commit 0f814a5

File tree

1 file changed

+23
-7
lines changed
  • src/SimpleStateMachine.StructuralSearch.Sandbox

1 file changed

+23
-7
lines changed

src/SimpleStateMachine.StructuralSearch.Sandbox/Program.cs

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,9 @@ public Placeholder(bool isCorrect, string value)
3030

3131
static void Main(string[] args)
3232
{
33-
var whitespaces = Char(' ').AtLeastOnceString();
33+
var spaces = Char(' ').AtLeastOnceString();
3434
var endOfLines = EndOfLine.AtLeastOnceString();
35+
var whitespaces = OneOf(spaces, endOfLines);
3536
var anyCharExcept = AnyCharExcept('(', ')', '[', ']', '{', '}', '$', ' ', '\n').AtLeastOnceString().Try()
3637
.WithDebug("anyCharExcept");
3738
Parser<char, IEnumerable<string>> expr = null;
@@ -54,8 +55,8 @@ static void Main(string[] args)
5455

5556

5657
//don't work
57-
var parser = OneOf(anyCharExcept, placeholder, whitespaces, endOfLines).AtLeastOnce();
58-
expr = parser.Or(parenthesised).AtLeastOnce().MergerMany();
58+
var tokens = OneOf(anyCharExcept, placeholder, whitespaces).AtLeastOnce();
59+
expr = tokens.Or(parenthesised).AtLeastOnce().MergerMany();
5960

6061
//work
6162
// var parser = OneOf(anyCharExcept, placeholder).AtLeastOnce();
@@ -77,15 +78,30 @@ static void Main(string[] args)
7778
.Then(Any.Until(Lookahead(Char(')').Then(End).Try())))
7879
.AsString();
7980

80-
var template =
81+
var template1 =
8182
"if(($condition$) = ($test$))\n" +
8283
"return $value1$;\n" +
8384
"else\n" +
8485
"return $value2$;";
86+
87+
var template2 =
88+
"if($var$ $sign$ null)\n" +
89+
"{\n" +
90+
"$var$ = $value$;\n" +
91+
"}";
8592

86-
var template2 = "((test)=(test2))";
87-
var template3 = "$test1$ test test34";
88-
var test = expr.ParseOrThrow(template);
93+
var template3 =
94+
"if($value1$ $sign$ null)\n"+
95+
"{\n" +
96+
"$var$ = $value1$;\n" +
97+
"}\n" +
98+
"else\n" +
99+
"{\n" +
100+
"$var$ = $value2$;\n" +
101+
"}";
102+
// var template2 = "((test)=(test2))";
103+
// var template3 = "$test1$ test test34";
104+
var test = expr.ParseOrThrow(template3);
89105
}
90106
}
91107
}

0 commit comments

Comments
 (0)