public void HexEscapeCharacter(_LRParser_Memo _memo, int _index, _LRParser_Args _args) { int _arg_index = 0; int _arg_input_index = 0; _LRParser_Item hex = null; // AND 1 int _start_i1 = _index; // LITERAL "#\\x" _ParseLiteralString(_memo, ref _index, "#\\x"); // AND shortcut if (_memo.Results.Peek() == null) { _memo.Results.Push(null); goto label1; } // CALLORVAR HexScalarValue _LRParser_Item _r4; _r4 = _MemoCall(_memo, "HexScalarValue", _index, HexScalarValue, null); if (_r4 != null) { _index = _r4.NextIndex; } // BIND hex hex = _memo.Results.Peek(); 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 _LRParser_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; } // ACT var _r0 = _memo.Results.Peek(); if (_r0 != null) { _memo.Results.Pop(); _memo.Results.Push(new _LRParser_Item(_r0.StartIndex, _r0.NextIndex, _memo.InputEnumerable, _Thunk(_IM_Result => { foreach (var input in hex.Inputs) { Console.WriteLine("{0}", input); } return(""); }, _r0), true)); } }
public void A(_LRParser_Memo _memo, int _index, _LRParser_Args _args) { int _arg_index = 0; int _arg_input_index = 0; _LRParser_Item a = null; _LRParser_Item b = null; // OR 0 int _start_i0 = _index; // AND 2 int _start_i2 = _index; // CALLORVAR A _LRParser_Item _r4; _r4 = _MemoCall(_memo, "A", _index, A, null); if (_r4 != null) { _index = _r4.NextIndex; } // BIND a a = _memo.Results.Peek(); // AND shortcut if (_memo.Results.Peek() == null) { _memo.Results.Push(null); goto label2; } // CALLORVAR A _LRParser_Item _r6; _r6 = _MemoCall(_memo, "A", _index, A, null); if (_r6 != null) { _index = _r6.NextIndex; } // BIND b b = _memo.Results.Peek(); 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 _LRParser_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; } // ACT var _r1 = _memo.Results.Peek(); if (_r1 != null) { _memo.Results.Pop(); _memo.Results.Push(new _LRParser_Item(_r1.StartIndex, _r1.NextIndex, _memo.InputEnumerable, _Thunk(_IM_Result => { return("(" + (string)a + (string)b + ")"); }, _r1), true)); } // OR shortcut if (_memo.Results.Peek() == null) { _memo.Results.Pop(); _index = _start_i0; } else { goto label0; } // LITERAL 'a' _ParseLiteralChar(_memo, ref _index, 'a'); // ACT var _r7 = _memo.Results.Peek(); if (_r7 != null) { _memo.Results.Pop(); _memo.Results.Push(new _LRParser_Item(_r7.StartIndex, _r7.NextIndex, _memo.InputEnumerable, _Thunk(_IM_Result => { return("a"); }, _r7), true)); } label0: // OR int _dummy_i0 = _index; // no-op for label }
public void AAA(_LRParser_Memo _memo, int _index, _LRParser_Args _args) { int _arg_index = 0; int _arg_input_index = 0; _LRParser_Item x = null; _LRParser_Item y = null; _LRParser_Item z = null; // OR 0 int _start_i0 = _index; // AND 2 int _start_i2 = _index; // STAR 4 int _start_i4 = _index; var _res4 = Enumerable.Empty <string>(); label4: // CALLORVAR AAA _LRParser_Item _r5; _r5 = _MemoCall(_memo, "AAA", _index, AAA, null); if (_r5 != null) { _index = _r5.NextIndex; } // STAR 4 var _r4 = _memo.Results.Pop(); if (_r4 != null) { _res4 = _res4.Concat(_r4.Results); goto label4; } else { _memo.Results.Push(new _LRParser_Item(_start_i4, _index, _memo.InputEnumerable, _res4.Where(_NON_NULL), true)); } // BIND x x = _memo.Results.Peek(); // AND shortcut if (_memo.Results.Peek() == null) { _memo.Results.Push(null); goto label2; } // LITERAL "a" _ParseLiteralString(_memo, ref _index, "a"); // BIND y y = _memo.Results.Peek(); 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 _LRParser_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; } // ACT var _r1 = _memo.Results.Peek(); if (_r1 != null) { _memo.Results.Pop(); _memo.Results.Push(new _LRParser_Item(_r1.StartIndex, _r1.NextIndex, _memo.InputEnumerable, _Thunk(_IM_Result => { return("(" + (string)x + "a)"); }, _r1), true)); } // OR shortcut if (_memo.Results.Peek() == null) { _memo.Results.Pop(); _index = _start_i0; } else { goto label0; } // LITERAL "b" _ParseLiteralString(_memo, ref _index, "b"); // BIND z z = _memo.Results.Peek(); // ACT var _r8 = _memo.Results.Peek(); if (_r8 != null) { _memo.Results.Pop(); _memo.Results.Push(new _LRParser_Item(_r8.StartIndex, _r8.NextIndex, _memo.InputEnumerable, _Thunk(_IM_Result => { return("b"); }, _r8), true)); } label0: // OR int _dummy_i0 = _index; // no-op for label }
public void Exp(_LRParser_Memo _memo, int _index, _LRParser_Args _args) { int _arg_index = 0; int _arg_input_index = 0; _LRParser_Item e = null; _LRParser_Item t = null; // OR 0 int _start_i0 = _index; // AND 2 int _start_i2 = _index; // AND 3 int _start_i3 = _index; // CALLORVAR Exp _LRParser_Item _r5; _r5 = _MemoCall(_memo, "Exp", _index, Exp, null); if (_r5 != null) { _index = _r5.NextIndex; } // BIND e e = _memo.Results.Peek(); // AND shortcut if (_memo.Results.Peek() == null) { _memo.Results.Push(null); goto label3; } // LITERAL "+" _ParseLiteralString(_memo, ref _index, "+"); label3: // AND var _r3_2 = _memo.Results.Pop(); var _r3_1 = _memo.Results.Pop(); if (_r3_1 != null && _r3_2 != null) { _memo.Results.Push(new _LRParser_Item(_start_i3, _index, _memo.InputEnumerable, _r3_1.Results.Concat(_r3_2.Results).Where(_NON_NULL), true)); } else { _memo.Results.Push(null); _index = _start_i3; } // AND shortcut if (_memo.Results.Peek() == null) { _memo.Results.Push(null); goto label2; } // CALLORVAR Term _LRParser_Item _r8; _r8 = _MemoCall(_memo, "Term", _index, Term, null); if (_r8 != null) { _index = _r8.NextIndex; } // BIND t t = _memo.Results.Peek(); 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 _LRParser_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; } // ACT var _r1 = _memo.Results.Peek(); if (_r1 != null) { _memo.Results.Pop(); _memo.Results.Push(new _LRParser_Item(_r1.StartIndex, _r1.NextIndex, _memo.InputEnumerable, _Thunk(_IM_Result => { return("(" + (string)e + " + " + (string)t + ")"); }, _r1), true)); } // OR shortcut if (_memo.Results.Peek() == null) { _memo.Results.Pop(); _index = _start_i0; } else { goto label0; } // CALLORVAR Term _LRParser_Item _r9; _r9 = _MemoCall(_memo, "Term", _index, Term, null); if (_r9 != null) { _index = _r9.NextIndex; } label0: // OR int _dummy_i0 = _index; // no-op for label }