3
3
using System . Linq ;
4
4
using Pidgin ;
5
5
using SimpleStateMachine . StructuralSearch . Extensions ;
6
- using static Pidgin . Parser ;
7
6
8
7
namespace SimpleStateMachine . StructuralSearch . Parsers ;
9
8
10
9
internal static class Parsers
11
10
{
12
11
public static Parser < char , string > String ( string value , bool ignoreCase )
13
- => ignoreCase ? CIString ( value ) : Parser . String ( value ) ;
12
+ => ignoreCase ? Parser . CIString ( value ) : Parser . String ( value ) ;
14
13
15
14
public static Parser < char , TEnum > After < TEnum > ( TEnum value , bool ignoreCase = false )
16
15
where TEnum : struct , Enum
@@ -23,7 +22,7 @@ private static Parser<TToken, IEnumerable<T>> MapToMany<TToken, T>(Parser<TToken
23
22
ArgumentNullException . ThrowIfNull ( parser2 ) ;
24
23
ArgumentNullException . ThrowIfNull ( parser3 ) ;
25
24
26
- return Map ( ( arg1 , arg2 , arg3 ) => ( IEnumerable < T > ) new List < T > { arg1 , arg2 , arg3 } , parser1 , parser2 , parser3 ) ;
25
+ return Parser . Map ( ( arg1 , arg2 , arg3 ) => ( IEnumerable < T > ) new List < T > { arg1 , arg2 , arg3 } , parser1 , parser2 , parser3 ) ;
27
26
}
28
27
29
28
private static Parser < TToken , IEnumerable < T > > MapToMany < TToken , T > ( Parser < TToken , T > parser1 ,
@@ -33,7 +32,7 @@ private static Parser<TToken, IEnumerable<T>> MapToMany<TToken, T>(Parser<TToken
33
32
ArgumentNullException . ThrowIfNull ( parser2 ) ;
34
33
ArgumentNullException . ThrowIfNull ( parser3 ) ;
35
34
36
- return Map ( ( arg1 , arg2 , arg3 ) =>
35
+ return Parser . Map ( ( arg1 , arg2 , arg3 ) =>
37
36
{
38
37
var result = arg2 . ToList ( ) ;
39
38
result . Insert ( 0 , arg1 ) ;
@@ -50,7 +49,7 @@ public static Parser<TToken, IEnumerable<T>> MapToMany<TToken, T>(Parser<TToken,
50
49
if ( parser2 == null )
51
50
throw new ArgumentNullException ( nameof ( parser2 ) ) ;
52
51
53
- return Map ( ( arg1 , arg2 ) =>
52
+ return Parser . Map ( ( arg1 , arg2 ) =>
54
53
{
55
54
var result = new List < T > { arg1 , arg2 } ;
56
55
return ( IEnumerable < T > ) result ;
@@ -63,13 +62,13 @@ public static Parser<char, IEnumerable<T>> BetweenChars<T>(char left, char right
63
62
=> MapToMany ( leftRight ( left ) , expr , leftRight ( right ) ) ;
64
63
65
64
public static Parser < char , IEnumerable < T > > BetweenOneOfChars < T > ( Func < char , Parser < char , T > > leftRight , Parser < char , IEnumerable < T > > expr , params ( char , char ) [ ] values )
66
- => OneOf ( values . Select ( x => MapToMany ( leftRight ( x . Item1 ) , expr , leftRight ( x . Item2 ) ) ) ) ;
65
+ => Parser . OneOf ( values . Select ( x => MapToMany ( leftRight ( x . Item1 ) , expr , leftRight ( x . Item2 ) ) ) ) ;
67
66
68
67
public static Parser < char , IEnumerable < T > > BetweenOneOfChars < T > ( Func < char , Parser < char , T > > leftRight , Parser < char , T > expr , params ( char , char ) [ ] values )
69
- => OneOf ( values . Select ( x => MapToMany ( leftRight ( x . Item1 ) , expr , leftRight ( x . Item2 ) ) ) ) ;
68
+ => Parser . OneOf ( values . Select ( x => MapToMany ( leftRight ( x . Item1 ) , expr , leftRight ( x . Item2 ) ) ) ) ;
70
69
71
70
public static Parser < char , ( TResult , T ) > BetweenOneOfChars < T , TResult > ( Func < char , char , TResult > resultFunc , Parser < char , T > expr , params ( char , char ) [ ] values )
72
- => OneOf ( values . Select ( x => Map ( ( c1 , res , c2 ) => ( resultFunc ( c1 , c2 ) , res ) , Char ( x . Item1 ) . Try ( ) , expr , Char ( x . Item2 ) . Try ( ) ) ) ) ;
71
+ => Parser . OneOf ( values . Select ( x => Parser . Map ( ( c1 , res , c2 ) => ( resultFunc ( c1 , c2 ) , res ) , Parser . Char ( x . Item1 ) . Try ( ) , expr , Parser . Char ( x . Item2 ) . Try ( ) ) ) ) ;
73
72
74
73
public static Parser < char , TEnum > EnumExcept < TEnum > ( bool ignoreCase = false , params TEnum [ ] excluded )
75
74
where TEnum : struct , Enum
@@ -80,7 +79,7 @@ public static Parser<char, TEnum> EnumValue<TEnum>(TEnum value, bool ignoreCase
80
79
=> String ( value . ToString ( ) , ignoreCase ) . AsEnum < TEnum > ( ignoreCase ) ;
81
80
82
81
public static Parser < char , Match < T > > Match < T > ( Parser < char , T > parser )
83
- => Map ( ( oldPos , oldOffset , result , newPos , newOffset ) =>
82
+ => Parser . Map ( ( oldPos , oldOffset , result , newPos , newOffset ) =>
84
83
{
85
84
var line = new LinePosition ( oldPos . Line , newPos . Line ) ;
86
85
var column = new ColumnPosition ( oldPos . Col , newPos . Col ) ;
0 commit comments