public void ABCD(_RegexpTest_Memo _memo, int _index, _RegexpTest_Args _args) { int _arg_index = 0; int _arg_input_index = 0; // AND 0 int _start_i0 = _index; // LITERAL 'a' _ParseLiteralChar(_memo, ref _index, 'a'); // AND shortcut if (_memo.Results.Peek() == null) { _memo.Results.Push(null); goto label0; } // REGEXP [\+-]?bz?cd+ _ParseRegexp(_memo, ref _index, _re0); label0: // AND var _r0_2 = _memo.Results.Pop(); var _r0_1 = _memo.Results.Pop(); if (_r0_1 != null && _r0_2 != null) { _memo.Results.Push(new _RegexpTest_Item(_start_i0, _index, _memo.InputEnumerable, _r0_1.Results.Concat(_r0_2.Results).Where(_NON_NULL), true)); } else { _memo.Results.Push(null); _index = _start_i0; } }
public void Ident(_RegexpTest_Memo _memo, int _index, _RegexpTest_Args _args) { int _arg_index = 0; int _arg_input_index = 0; // REGEXP _|_[_0-9a-zA-Z]+|[a-zA-Z][_0-9a-zA-Z]* _ParseRegexp(_memo, ref _index, _re1); }
public void GreekAlpha(_RegexpTest_Memo _memo, int _index, _RegexpTest_Args _args) { int _arg_index = 0; int _arg_input_index = 0; // REGEXP \u{03b1} _ParseRegexp(_memo, ref _index, _re5); }
public void Whitespace(_RegexpTest_Memo _memo, int _index, _RegexpTest_Args _args) { int _arg_index = 0; int _arg_input_index = 0; // REGEXP [\t \n\r]+ _ParseRegexp(_memo, ref _index, _re4); }
public void NonQuote(_RegexpTest_Memo _memo, int _index, _RegexpTest_Args _args) { int _arg_index = 0; int _arg_input_index = 0; // REGEXP [^""]+ _ParseRegexp(_memo, ref _index, _re3); }
public void Foo(_RegexpTest_Memo _memo, int _index, _RegexpTest_Args _args) { int _arg_index = 0; int _arg_input_index = 0; // REGEXP [^\r\n]+ _ParseRegexp(_memo, ref _index, _re2); // ACT var _r0 = _memo.Results.Peek(); if (_r0 != null) { _memo.Results.Pop(); _memo.Results.Push(new _RegexpTest_Item(_r0.StartIndex, _r0.NextIndex, _memo.InputEnumerable, _Thunk(_IM_Result => { return(new string(_IM_Result.Inputs.ToArray())); }, _r0), true)); } }
public void Bar(_RegexpTest_Memo _memo, int _index, _RegexpTest_Args _args) { int _arg_index = 0; int _arg_input_index = 0; // PLUS 1 int _start_i1 = _index; var _res1 = Enumerable.Empty <string>(); label1: // AND 2 int _start_i2 = _index; // NOT 3 int _start_i3 = _index; // OR 4 int _start_i4 = _index; // LITERAL '\r' _ParseLiteralChar(_memo, ref _index, '\r'); // OR shortcut if (_memo.Results.Peek() == null) { _memo.Results.Pop(); _index = _start_i4; } else { goto label4; } // LITERAL '\n' _ParseLiteralChar(_memo, ref _index, '\n'); label4: // OR int _dummy_i4 = _index; // no-op for label // NOT 3 var _r3 = _memo.Results.Pop(); _memo.Results.Push(_r3 == null ? new _RegexpTest_Item(_start_i3, _memo.InputEnumerable) : null); _index = _start_i3; // AND shortcut if (_memo.Results.Peek() == null) { _memo.Results.Push(null); goto label2; } // ANY _ParseAny(_memo, ref _index); label2: // AND var _r2_2 = _memo.Results.Pop(); var _r2_1 = _memo.Results.Pop(); if (_r2_1 != null && _r2_2 != null) { _memo.Results.Push(new _RegexpTest_Item(_start_i2, _index, _memo.InputEnumerable, _r2_1.Results.Concat(_r2_2.Results).Where(_NON_NULL), true)); } else { _memo.Results.Push(null); _index = _start_i2; } // PLUS 1 var _r1 = _memo.Results.Pop(); if (_r1 != null) { _res1 = _res1.Concat(_r1.Results); goto label1; } else { if (_index > _start_i1) { _memo.Results.Push(new _RegexpTest_Item(_start_i1, _index, _memo.InputEnumerable, _res1.Where(_NON_NULL), true)); } else { _memo.Results.Push(null); } } // ACT var _r0 = _memo.Results.Peek(); if (_r0 != null) { _memo.Results.Pop(); _memo.Results.Push(new _RegexpTest_Item(_r0.StartIndex, _r0.NextIndex, _memo.InputEnumerable, _Thunk(_IM_Result => { return(new string(_IM_Result.Inputs.ToArray())); }, _r0), true)); } }
public void Quote(_RegexpTest_Memo _memo, int _index, _RegexpTest_Args _args) { int _arg_index = 0; int _arg_input_index = 0; // AND 0 int _start_i0 = _index; // AND 1 int _start_i1 = _index; // LITERAL "\"" _ParseLiteralString(_memo, ref _index, "\""); // AND shortcut if (_memo.Results.Peek() == null) { _memo.Results.Push(null); goto label1; } // CALLORVAR NonQuote _RegexpTest_Item _r3; _r3 = _MemoCall(_memo, "NonQuote", _index, NonQuote, null); if (_r3 != null) { _index = _r3.NextIndex; } label1: // AND var _r1_2 = _memo.Results.Pop(); var _r1_1 = _memo.Results.Pop(); if (_r1_1 != null && _r1_2 != null) { _memo.Results.Push(new _RegexpTest_Item(_start_i1, _index, _memo.InputEnumerable, _r1_1.Results.Concat(_r1_2.Results).Where(_NON_NULL), true)); } else { _memo.Results.Push(null); _index = _start_i1; } // AND shortcut if (_memo.Results.Peek() == null) { _memo.Results.Push(null); goto label0; } // LITERAL "\"" _ParseLiteralString(_memo, ref _index, "\""); label0: // AND var _r0_2 = _memo.Results.Pop(); var _r0_1 = _memo.Results.Pop(); if (_r0_1 != null && _r0_2 != null) { _memo.Results.Push(new _RegexpTest_Item(_start_i0, _index, _memo.InputEnumerable, _r0_1.Results.Concat(_r0_2.Results).Where(_NON_NULL), true)); } else { _memo.Results.Push(null); _index = _start_i0; } }