internal static RE.CharFAMatch Match(RE.ParseContext context) { context.EnsureStarted(); int line = context.Line; int column = context.Column; long position = context.Position; int l = context.CaptureBuffer.Length; bool success = false; for ( // ; ((false == success) && (-1 != context.Current)); // ) { // q0 if ((((context.Current >= 'A') && (context.Current <= 'Z')) || ((context.Current >= 'a') && (context.Current <= 'z')))) { context.CaptureCurrent(); context.Advance(); goto q1; } goto error; q1: if ((((context.Current >= 'A') && (context.Current <= 'Z')) || ((context.Current >= 'a') && (context.Current <= 'z')))) { context.CaptureCurrent(); context.Advance(); goto q1; } success = true; goto done; error: success = false; context.Advance(); done: if ((false == success)) { line = context.Line; column = context.Column; position = context.Position; l = context.CaptureBuffer.Length; } } if (success) { return(new RE.CharFAMatch(line, column, position, context.GetCapture(l))); } return(null); }
internal static int Lex(RE.ParseContext context) { context.EnsureStarted(); // q0 if (((context.Current >= '0') && (context.Current <= '9'))) { context.CaptureCurrent(); context.Advance(); goto q1; } if ((((context.Current >= 'A') && (context.Current <= 'Z')) || ((context.Current >= 'a') && (context.Current <= 'z')))) { context.CaptureCurrent(); context.Advance(); goto q2; } if (((((context.Current == '\t') || ((context.Current >= '\n') && (context.Current <= ''))) || (context.Current == '\r')) || (context.Current == ' '))) { context.CaptureCurrent(); context.Advance(); goto q3; } goto error; q1: if (((context.Current >= '0') && (context.Current <= '9'))) { context.CaptureCurrent(); context.Advance(); goto q1; } return(0); q2: if ((((context.Current >= 'A') && (context.Current <= 'Z')) || ((context.Current >= 'a') && (context.Current <= 'z')))) { context.CaptureCurrent(); context.Advance(); goto q2; } return(1); q3: if (((((context.Current == '\t') || ((context.Current >= '\n') && (context.Current <= ''))) || (context.Current == '\r')) || (context.Current == ' '))) { context.CaptureCurrent(); context.Advance(); goto q3; } return(2); error: context.CaptureCurrent(); context.Advance(); return(3); }