mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-26 08:58:24 +00:00 
			
		
		
		
	* Update blevesearch v0.8.1 -> v1.0.7 * make vendor Co-authored-by: zeripath <art27@cantab.net>
		
			
				
	
	
		
			1342 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			Go
		
	
	
	
		
			Vendored
		
	
	
	
			
		
		
	
	
			1342 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			Go
		
	
	
	
		
			Vendored
		
	
	
	
| //! This file was generated automatically by the Snowball to Go compiler
 | |
| //! http://snowballstem.org/
 | |
| 
 | |
| package english
 | |
| 
 | |
| import (
 | |
| 	snowballRuntime "github.com/blevesearch/snowballstem"
 | |
| )
 | |
| 
 | |
| var A_0 = []*snowballRuntime.Among{
 | |
| 	{Str: "arsen", A: -1, B: -1, F: nil},
 | |
| 	{Str: "commun", A: -1, B: -1, F: nil},
 | |
| 	{Str: "gener", A: -1, B: -1, F: nil},
 | |
| }
 | |
| 
 | |
| var A_1 = []*snowballRuntime.Among{
 | |
| 	{Str: "'", A: -1, B: 1, F: nil},
 | |
| 	{Str: "'s'", A: 0, B: 1, F: nil},
 | |
| 	{Str: "'s", A: -1, B: 1, F: nil},
 | |
| }
 | |
| 
 | |
| var A_2 = []*snowballRuntime.Among{
 | |
| 	{Str: "ied", A: -1, B: 2, F: nil},
 | |
| 	{Str: "s", A: -1, B: 3, F: nil},
 | |
| 	{Str: "ies", A: 1, B: 2, F: nil},
 | |
| 	{Str: "sses", A: 1, B: 1, F: nil},
 | |
| 	{Str: "ss", A: 1, B: -1, F: nil},
 | |
| 	{Str: "us", A: 1, B: -1, F: nil},
 | |
| }
 | |
| 
 | |
| var A_3 = []*snowballRuntime.Among{
 | |
| 	{Str: "", A: -1, B: 3, F: nil},
 | |
| 	{Str: "bb", A: 0, B: 2, F: nil},
 | |
| 	{Str: "dd", A: 0, B: 2, F: nil},
 | |
| 	{Str: "ff", A: 0, B: 2, F: nil},
 | |
| 	{Str: "gg", A: 0, B: 2, F: nil},
 | |
| 	{Str: "bl", A: 0, B: 1, F: nil},
 | |
| 	{Str: "mm", A: 0, B: 2, F: nil},
 | |
| 	{Str: "nn", A: 0, B: 2, F: nil},
 | |
| 	{Str: "pp", A: 0, B: 2, F: nil},
 | |
| 	{Str: "rr", A: 0, B: 2, F: nil},
 | |
| 	{Str: "at", A: 0, B: 1, F: nil},
 | |
| 	{Str: "tt", A: 0, B: 2, F: nil},
 | |
| 	{Str: "iz", A: 0, B: 1, F: nil},
 | |
| }
 | |
| 
 | |
| var A_4 = []*snowballRuntime.Among{
 | |
| 	{Str: "ed", A: -1, B: 2, F: nil},
 | |
| 	{Str: "eed", A: 0, B: 1, F: nil},
 | |
| 	{Str: "ing", A: -1, B: 2, F: nil},
 | |
| 	{Str: "edly", A: -1, B: 2, F: nil},
 | |
| 	{Str: "eedly", A: 3, B: 1, F: nil},
 | |
| 	{Str: "ingly", A: -1, B: 2, F: nil},
 | |
| }
 | |
| 
 | |
| var A_5 = []*snowballRuntime.Among{
 | |
| 	{Str: "anci", A: -1, B: 3, F: nil},
 | |
| 	{Str: "enci", A: -1, B: 2, F: nil},
 | |
| 	{Str: "ogi", A: -1, B: 13, F: nil},
 | |
| 	{Str: "li", A: -1, B: 16, F: nil},
 | |
| 	{Str: "bli", A: 3, B: 12, F: nil},
 | |
| 	{Str: "abli", A: 4, B: 4, F: nil},
 | |
| 	{Str: "alli", A: 3, B: 8, F: nil},
 | |
| 	{Str: "fulli", A: 3, B: 14, F: nil},
 | |
| 	{Str: "lessli", A: 3, B: 15, F: nil},
 | |
| 	{Str: "ousli", A: 3, B: 10, F: nil},
 | |
| 	{Str: "entli", A: 3, B: 5, F: nil},
 | |
| 	{Str: "aliti", A: -1, B: 8, F: nil},
 | |
| 	{Str: "biliti", A: -1, B: 12, F: nil},
 | |
| 	{Str: "iviti", A: -1, B: 11, F: nil},
 | |
| 	{Str: "tional", A: -1, B: 1, F: nil},
 | |
| 	{Str: "ational", A: 14, B: 7, F: nil},
 | |
| 	{Str: "alism", A: -1, B: 8, F: nil},
 | |
| 	{Str: "ation", A: -1, B: 7, F: nil},
 | |
| 	{Str: "ization", A: 17, B: 6, F: nil},
 | |
| 	{Str: "izer", A: -1, B: 6, F: nil},
 | |
| 	{Str: "ator", A: -1, B: 7, F: nil},
 | |
| 	{Str: "iveness", A: -1, B: 11, F: nil},
 | |
| 	{Str: "fulness", A: -1, B: 9, F: nil},
 | |
| 	{Str: "ousness", A: -1, B: 10, F: nil},
 | |
| }
 | |
| 
 | |
| var A_6 = []*snowballRuntime.Among{
 | |
| 	{Str: "icate", A: -1, B: 4, F: nil},
 | |
| 	{Str: "ative", A: -1, B: 6, F: nil},
 | |
| 	{Str: "alize", A: -1, B: 3, F: nil},
 | |
| 	{Str: "iciti", A: -1, B: 4, F: nil},
 | |
| 	{Str: "ical", A: -1, B: 4, F: nil},
 | |
| 	{Str: "tional", A: -1, B: 1, F: nil},
 | |
| 	{Str: "ational", A: 5, B: 2, F: nil},
 | |
| 	{Str: "ful", A: -1, B: 5, F: nil},
 | |
| 	{Str: "ness", A: -1, B: 5, F: nil},
 | |
| }
 | |
| 
 | |
| var A_7 = []*snowballRuntime.Among{
 | |
| 	{Str: "ic", A: -1, B: 1, F: nil},
 | |
| 	{Str: "ance", A: -1, B: 1, F: nil},
 | |
| 	{Str: "ence", A: -1, B: 1, F: nil},
 | |
| 	{Str: "able", A: -1, B: 1, F: nil},
 | |
| 	{Str: "ible", A: -1, B: 1, F: nil},
 | |
| 	{Str: "ate", A: -1, B: 1, F: nil},
 | |
| 	{Str: "ive", A: -1, B: 1, F: nil},
 | |
| 	{Str: "ize", A: -1, B: 1, F: nil},
 | |
| 	{Str: "iti", A: -1, B: 1, F: nil},
 | |
| 	{Str: "al", A: -1, B: 1, F: nil},
 | |
| 	{Str: "ism", A: -1, B: 1, F: nil},
 | |
| 	{Str: "ion", A: -1, B: 2, F: nil},
 | |
| 	{Str: "er", A: -1, B: 1, F: nil},
 | |
| 	{Str: "ous", A: -1, B: 1, F: nil},
 | |
| 	{Str: "ant", A: -1, B: 1, F: nil},
 | |
| 	{Str: "ent", A: -1, B: 1, F: nil},
 | |
| 	{Str: "ment", A: 15, B: 1, F: nil},
 | |
| 	{Str: "ement", A: 16, B: 1, F: nil},
 | |
| }
 | |
| 
 | |
| var A_8 = []*snowballRuntime.Among{
 | |
| 	{Str: "e", A: -1, B: 1, F: nil},
 | |
| 	{Str: "l", A: -1, B: 2, F: nil},
 | |
| }
 | |
| 
 | |
| var A_9 = []*snowballRuntime.Among{
 | |
| 	{Str: "succeed", A: -1, B: -1, F: nil},
 | |
| 	{Str: "proceed", A: -1, B: -1, F: nil},
 | |
| 	{Str: "exceed", A: -1, B: -1, F: nil},
 | |
| 	{Str: "canning", A: -1, B: -1, F: nil},
 | |
| 	{Str: "inning", A: -1, B: -1, F: nil},
 | |
| 	{Str: "earring", A: -1, B: -1, F: nil},
 | |
| 	{Str: "herring", A: -1, B: -1, F: nil},
 | |
| 	{Str: "outing", A: -1, B: -1, F: nil},
 | |
| }
 | |
| 
 | |
| var A_10 = []*snowballRuntime.Among{
 | |
| 	{Str: "andes", A: -1, B: -1, F: nil},
 | |
| 	{Str: "atlas", A: -1, B: -1, F: nil},
 | |
| 	{Str: "bias", A: -1, B: -1, F: nil},
 | |
| 	{Str: "cosmos", A: -1, B: -1, F: nil},
 | |
| 	{Str: "dying", A: -1, B: 3, F: nil},
 | |
| 	{Str: "early", A: -1, B: 9, F: nil},
 | |
| 	{Str: "gently", A: -1, B: 7, F: nil},
 | |
| 	{Str: "howe", A: -1, B: -1, F: nil},
 | |
| 	{Str: "idly", A: -1, B: 6, F: nil},
 | |
| 	{Str: "lying", A: -1, B: 4, F: nil},
 | |
| 	{Str: "news", A: -1, B: -1, F: nil},
 | |
| 	{Str: "only", A: -1, B: 10, F: nil},
 | |
| 	{Str: "singly", A: -1, B: 11, F: nil},
 | |
| 	{Str: "skies", A: -1, B: 2, F: nil},
 | |
| 	{Str: "skis", A: -1, B: 1, F: nil},
 | |
| 	{Str: "sky", A: -1, B: -1, F: nil},
 | |
| 	{Str: "tying", A: -1, B: 5, F: nil},
 | |
| 	{Str: "ugly", A: -1, B: 8, F: nil},
 | |
| }
 | |
| 
 | |
| var G_v = []byte{17, 65, 16, 1}
 | |
| 
 | |
| var G_v_WXY = []byte{1, 17, 65, 208, 1}
 | |
| 
 | |
| var G_valid_LI = []byte{55, 141, 2}
 | |
| 
 | |
| type Context struct {
 | |
| 	b_Y_found bool
 | |
| 	i_p2      int
 | |
| 	i_p1      int
 | |
| }
 | |
| 
 | |
| func r_prelude(env *snowballRuntime.Env, ctx interface{}) bool {
 | |
| 	context := ctx.(*Context)
 | |
| 	_ = context
 | |
| 	// (, line 25
 | |
| 	// unset Y_found, line 26
 | |
| 	context.b_Y_found = false
 | |
| 	// do, line 27
 | |
| 	var v_1 = env.Cursor
 | |
| lab0:
 | |
| 	for {
 | |
| 		// (, line 27
 | |
| 		// [, line 27
 | |
| 		env.Bra = env.Cursor
 | |
| 		// literal, line 27
 | |
| 		if !env.EqS("'") {
 | |
| 			break lab0
 | |
| 		}
 | |
| 		// ], line 27
 | |
| 		env.Ket = env.Cursor
 | |
| 		// delete, line 27
 | |
| 		if !env.SliceDel() {
 | |
| 			return false
 | |
| 		}
 | |
| 		break lab0
 | |
| 	}
 | |
| 	env.Cursor = v_1
 | |
| 	// do, line 28
 | |
| 	var v_2 = env.Cursor
 | |
| lab1:
 | |
| 	for {
 | |
| 		// (, line 28
 | |
| 		// [, line 28
 | |
| 		env.Bra = env.Cursor
 | |
| 		// literal, line 28
 | |
| 		if !env.EqS("y") {
 | |
| 			break lab1
 | |
| 		}
 | |
| 		// ], line 28
 | |
| 		env.Ket = env.Cursor
 | |
| 		// <-, line 28
 | |
| 		if !env.SliceFrom("Y") {
 | |
| 			return false
 | |
| 		}
 | |
| 		// set Y_found, line 28
 | |
| 		context.b_Y_found = true
 | |
| 		break lab1
 | |
| 	}
 | |
| 	env.Cursor = v_2
 | |
| 	// do, line 29
 | |
| 	var v_3 = env.Cursor
 | |
| lab2:
 | |
| 	for {
 | |
| 		// repeat, line 29
 | |
| 	replab3:
 | |
| 		for {
 | |
| 			var v_4 = env.Cursor
 | |
| 		lab4:
 | |
| 			for range [2]struct{}{} {
 | |
| 				// (, line 29
 | |
| 				// goto, line 29
 | |
| 			golab5:
 | |
| 				for {
 | |
| 					var v_5 = env.Cursor
 | |
| 				lab6:
 | |
| 					for {
 | |
| 						// (, line 29
 | |
| 						if !env.InGrouping(G_v, 97, 121) {
 | |
| 							break lab6
 | |
| 						}
 | |
| 						// [, line 29
 | |
| 						env.Bra = env.Cursor
 | |
| 						// literal, line 29
 | |
| 						if !env.EqS("y") {
 | |
| 							break lab6
 | |
| 						}
 | |
| 						// ], line 29
 | |
| 						env.Ket = env.Cursor
 | |
| 						env.Cursor = v_5
 | |
| 						break golab5
 | |
| 					}
 | |
| 					env.Cursor = v_5
 | |
| 					if env.Cursor >= env.Limit {
 | |
| 						break lab4
 | |
| 					}
 | |
| 					env.NextChar()
 | |
| 				}
 | |
| 				// <-, line 29
 | |
| 				if !env.SliceFrom("Y") {
 | |
| 					return false
 | |
| 				}
 | |
| 				// set Y_found, line 29
 | |
| 				context.b_Y_found = true
 | |
| 				continue replab3
 | |
| 			}
 | |
| 			env.Cursor = v_4
 | |
| 			break replab3
 | |
| 		}
 | |
| 		break lab2
 | |
| 	}
 | |
| 	env.Cursor = v_3
 | |
| 	return true
 | |
| }
 | |
| 
 | |
| func r_mark_regions(env *snowballRuntime.Env, ctx interface{}) bool {
 | |
| 	context := ctx.(*Context)
 | |
| 	_ = context
 | |
| 	// (, line 32
 | |
| 	context.i_p1 = env.Limit
 | |
| 	context.i_p2 = env.Limit
 | |
| 	// do, line 35
 | |
| 	var v_1 = env.Cursor
 | |
| lab0:
 | |
| 	for {
 | |
| 		// (, line 35
 | |
| 		// or, line 41
 | |
| 	lab1:
 | |
| 		for {
 | |
| 			var v_2 = env.Cursor
 | |
| 		lab2:
 | |
| 			for {
 | |
| 				// among, line 36
 | |
| 				if env.FindAmong(A_0, context) == 0 {
 | |
| 					break lab2
 | |
| 				}
 | |
| 				break lab1
 | |
| 			}
 | |
| 			env.Cursor = v_2
 | |
| 			// (, line 41
 | |
| 			// gopast, line 41
 | |
| 		golab3:
 | |
| 			for {
 | |
| 			lab4:
 | |
| 				for {
 | |
| 					if !env.InGrouping(G_v, 97, 121) {
 | |
| 						break lab4
 | |
| 					}
 | |
| 					break golab3
 | |
| 				}
 | |
| 				if env.Cursor >= env.Limit {
 | |
| 					break lab0
 | |
| 				}
 | |
| 				env.NextChar()
 | |
| 			}
 | |
| 			// gopast, line 41
 | |
| 		golab5:
 | |
| 			for {
 | |
| 			lab6:
 | |
| 				for {
 | |
| 					if !env.OutGrouping(G_v, 97, 121) {
 | |
| 						break lab6
 | |
| 					}
 | |
| 					break golab5
 | |
| 				}
 | |
| 				if env.Cursor >= env.Limit {
 | |
| 					break lab0
 | |
| 				}
 | |
| 				env.NextChar()
 | |
| 			}
 | |
| 			break lab1
 | |
| 		}
 | |
| 		// setmark p1, line 42
 | |
| 		context.i_p1 = env.Cursor
 | |
| 		// gopast, line 43
 | |
| 	golab7:
 | |
| 		for {
 | |
| 		lab8:
 | |
| 			for {
 | |
| 				if !env.InGrouping(G_v, 97, 121) {
 | |
| 					break lab8
 | |
| 				}
 | |
| 				break golab7
 | |
| 			}
 | |
| 			if env.Cursor >= env.Limit {
 | |
| 				break lab0
 | |
| 			}
 | |
| 			env.NextChar()
 | |
| 		}
 | |
| 		// gopast, line 43
 | |
| 	golab9:
 | |
| 		for {
 | |
| 		lab10:
 | |
| 			for {
 | |
| 				if !env.OutGrouping(G_v, 97, 121) {
 | |
| 					break lab10
 | |
| 				}
 | |
| 				break golab9
 | |
| 			}
 | |
| 			if env.Cursor >= env.Limit {
 | |
| 				break lab0
 | |
| 			}
 | |
| 			env.NextChar()
 | |
| 		}
 | |
| 		// setmark p2, line 43
 | |
| 		context.i_p2 = env.Cursor
 | |
| 		break lab0
 | |
| 	}
 | |
| 	env.Cursor = v_1
 | |
| 	return true
 | |
| }
 | |
| 
 | |
| func r_shortv(env *snowballRuntime.Env, ctx interface{}) bool {
 | |
| 	context := ctx.(*Context)
 | |
| 	_ = context
 | |
| 	// (, line 49
 | |
| 	// or, line 51
 | |
| lab0:
 | |
| 	for {
 | |
| 		var v_1 = env.Limit - env.Cursor
 | |
| 	lab1:
 | |
| 		for {
 | |
| 			// (, line 50
 | |
| 			if !env.OutGroupingB(G_v_WXY, 89, 121) {
 | |
| 				break lab1
 | |
| 			}
 | |
| 			if !env.InGroupingB(G_v, 97, 121) {
 | |
| 				break lab1
 | |
| 			}
 | |
| 			if !env.OutGroupingB(G_v, 97, 121) {
 | |
| 				break lab1
 | |
| 			}
 | |
| 			break lab0
 | |
| 		}
 | |
| 		env.Cursor = env.Limit - v_1
 | |
| 		// (, line 52
 | |
| 		if !env.OutGroupingB(G_v, 97, 121) {
 | |
| 			return false
 | |
| 		}
 | |
| 		if !env.InGroupingB(G_v, 97, 121) {
 | |
| 			return false
 | |
| 		}
 | |
| 		// atlimit, line 52
 | |
| 		if env.Cursor > env.LimitBackward {
 | |
| 			return false
 | |
| 		}
 | |
| 		break lab0
 | |
| 	}
 | |
| 	return true
 | |
| }
 | |
| 
 | |
| func r_R1(env *snowballRuntime.Env, ctx interface{}) bool {
 | |
| 	context := ctx.(*Context)
 | |
| 	_ = context
 | |
| 	if !(context.i_p1 <= env.Cursor) {
 | |
| 		return false
 | |
| 	}
 | |
| 	return true
 | |
| }
 | |
| 
 | |
| func r_R2(env *snowballRuntime.Env, ctx interface{}) bool {
 | |
| 	context := ctx.(*Context)
 | |
| 	_ = context
 | |
| 	if !(context.i_p2 <= env.Cursor) {
 | |
| 		return false
 | |
| 	}
 | |
| 	return true
 | |
| }
 | |
| 
 | |
| func r_Step_1a(env *snowballRuntime.Env, ctx interface{}) bool {
 | |
| 	context := ctx.(*Context)
 | |
| 	_ = context
 | |
| 	var among_var int32
 | |
| 	// (, line 58
 | |
| 	// try, line 59
 | |
| 	var v_1 = env.Limit - env.Cursor
 | |
| lab0:
 | |
| 	for {
 | |
| 		// (, line 59
 | |
| 		// [, line 60
 | |
| 		env.Ket = env.Cursor
 | |
| 		// substring, line 60
 | |
| 		among_var = env.FindAmongB(A_1, context)
 | |
| 		if among_var == 0 {
 | |
| 			env.Cursor = env.Limit - v_1
 | |
| 			break lab0
 | |
| 		}
 | |
| 		// ], line 60
 | |
| 		env.Bra = env.Cursor
 | |
| 		if among_var == 0 {
 | |
| 			env.Cursor = env.Limit - v_1
 | |
| 			break lab0
 | |
| 		} else if among_var == 1 {
 | |
| 			// (, line 62
 | |
| 			// delete, line 62
 | |
| 			if !env.SliceDel() {
 | |
| 				return false
 | |
| 			}
 | |
| 		}
 | |
| 		break lab0
 | |
| 	}
 | |
| 	// [, line 65
 | |
| 	env.Ket = env.Cursor
 | |
| 	// substring, line 65
 | |
| 	among_var = env.FindAmongB(A_2, context)
 | |
| 	if among_var == 0 {
 | |
| 		return false
 | |
| 	}
 | |
| 	// ], line 65
 | |
| 	env.Bra = env.Cursor
 | |
| 	if among_var == 0 {
 | |
| 		return false
 | |
| 	} else if among_var == 1 {
 | |
| 		// (, line 66
 | |
| 		// <-, line 66
 | |
| 		if !env.SliceFrom("ss") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 2 {
 | |
| 		// (, line 68
 | |
| 		// or, line 68
 | |
| 	lab1:
 | |
| 		for {
 | |
| 			var v_2 = env.Limit - env.Cursor
 | |
| 		lab2:
 | |
| 			for {
 | |
| 				// (, line 68
 | |
| 				{
 | |
| 					// hop, line 68
 | |
| 					var c = env.ByteIndexForHop(-(2))
 | |
| 					if int32(env.LimitBackward) > c || c > int32(env.Limit) {
 | |
| 						break lab2
 | |
| 					}
 | |
| 					env.Cursor = int(c)
 | |
| 				}
 | |
| 				// <-, line 68
 | |
| 				if !env.SliceFrom("i") {
 | |
| 					return false
 | |
| 				}
 | |
| 				break lab1
 | |
| 			}
 | |
| 			env.Cursor = env.Limit - v_2
 | |
| 			// <-, line 68
 | |
| 			if !env.SliceFrom("ie") {
 | |
| 				return false
 | |
| 			}
 | |
| 			break lab1
 | |
| 		}
 | |
| 	} else if among_var == 3 {
 | |
| 		// (, line 69
 | |
| 		// next, line 69
 | |
| 		if env.Cursor <= env.LimitBackward {
 | |
| 			return false
 | |
| 		}
 | |
| 		env.PrevChar()
 | |
| 		// gopast, line 69
 | |
| 	golab3:
 | |
| 		for {
 | |
| 		lab4:
 | |
| 			for {
 | |
| 				if !env.InGroupingB(G_v, 97, 121) {
 | |
| 					break lab4
 | |
| 				}
 | |
| 				break golab3
 | |
| 			}
 | |
| 			if env.Cursor <= env.LimitBackward {
 | |
| 				return false
 | |
| 			}
 | |
| 			env.PrevChar()
 | |
| 		}
 | |
| 		// delete, line 69
 | |
| 		if !env.SliceDel() {
 | |
| 			return false
 | |
| 		}
 | |
| 	}
 | |
| 	return true
 | |
| }
 | |
| 
 | |
| func r_Step_1b(env *snowballRuntime.Env, ctx interface{}) bool {
 | |
| 	context := ctx.(*Context)
 | |
| 	_ = context
 | |
| 	var among_var int32
 | |
| 	// (, line 74
 | |
| 	// [, line 75
 | |
| 	env.Ket = env.Cursor
 | |
| 	// substring, line 75
 | |
| 	among_var = env.FindAmongB(A_4, context)
 | |
| 	if among_var == 0 {
 | |
| 		return false
 | |
| 	}
 | |
| 	// ], line 75
 | |
| 	env.Bra = env.Cursor
 | |
| 	if among_var == 0 {
 | |
| 		return false
 | |
| 	} else if among_var == 1 {
 | |
| 		// (, line 77
 | |
| 		// call R1, line 77
 | |
| 		if !r_R1(env, context) {
 | |
| 			return false
 | |
| 		}
 | |
| 		// <-, line 77
 | |
| 		if !env.SliceFrom("ee") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 2 {
 | |
| 		// (, line 79
 | |
| 		// test, line 80
 | |
| 		var v_1 = env.Limit - env.Cursor
 | |
| 		// gopast, line 80
 | |
| 	golab0:
 | |
| 		for {
 | |
| 		lab1:
 | |
| 			for {
 | |
| 				if !env.InGroupingB(G_v, 97, 121) {
 | |
| 					break lab1
 | |
| 				}
 | |
| 				break golab0
 | |
| 			}
 | |
| 			if env.Cursor <= env.LimitBackward {
 | |
| 				return false
 | |
| 			}
 | |
| 			env.PrevChar()
 | |
| 		}
 | |
| 		env.Cursor = env.Limit - v_1
 | |
| 		// delete, line 80
 | |
| 		if !env.SliceDel() {
 | |
| 			return false
 | |
| 		}
 | |
| 		// test, line 81
 | |
| 		var v_3 = env.Limit - env.Cursor
 | |
| 		// substring, line 81
 | |
| 		among_var = env.FindAmongB(A_3, context)
 | |
| 		if among_var == 0 {
 | |
| 			return false
 | |
| 		}
 | |
| 		env.Cursor = env.Limit - v_3
 | |
| 		if among_var == 0 {
 | |
| 			return false
 | |
| 		} else if among_var == 1 {
 | |
| 			// (, line 83
 | |
| 			{
 | |
| 				// <+, line 83
 | |
| 				var c = env.Cursor
 | |
| 				bra, ket := env.Cursor, env.Cursor
 | |
| 				env.Insert(bra, ket, "e")
 | |
| 				env.Cursor = c
 | |
| 			}
 | |
| 		} else if among_var == 2 {
 | |
| 			// (, line 86
 | |
| 			// [, line 86
 | |
| 			env.Ket = env.Cursor
 | |
| 			// next, line 86
 | |
| 			if env.Cursor <= env.LimitBackward {
 | |
| 				return false
 | |
| 			}
 | |
| 			env.PrevChar()
 | |
| 			// ], line 86
 | |
| 			env.Bra = env.Cursor
 | |
| 			// delete, line 86
 | |
| 			if !env.SliceDel() {
 | |
| 				return false
 | |
| 			}
 | |
| 		} else if among_var == 3 {
 | |
| 			// (, line 87
 | |
| 			// atmark, line 87
 | |
| 			if env.Cursor != context.i_p1 {
 | |
| 				return false
 | |
| 			}
 | |
| 			// test, line 87
 | |
| 			var v_4 = env.Limit - env.Cursor
 | |
| 			// call shortv, line 87
 | |
| 			if !r_shortv(env, context) {
 | |
| 				return false
 | |
| 			}
 | |
| 			env.Cursor = env.Limit - v_4
 | |
| 			{
 | |
| 				// <+, line 87
 | |
| 				var c = env.Cursor
 | |
| 				bra, ket := env.Cursor, env.Cursor
 | |
| 				env.Insert(bra, ket, "e")
 | |
| 				env.Cursor = c
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| 	return true
 | |
| }
 | |
| 
 | |
| func r_Step_1c(env *snowballRuntime.Env, ctx interface{}) bool {
 | |
| 	context := ctx.(*Context)
 | |
| 	_ = context
 | |
| 	// (, line 93
 | |
| 	// [, line 94
 | |
| 	env.Ket = env.Cursor
 | |
| 	// or, line 94
 | |
| lab0:
 | |
| 	for {
 | |
| 		var v_1 = env.Limit - env.Cursor
 | |
| 	lab1:
 | |
| 		for {
 | |
| 			// literal, line 94
 | |
| 			if !env.EqSB("y") {
 | |
| 				break lab1
 | |
| 			}
 | |
| 			break lab0
 | |
| 		}
 | |
| 		env.Cursor = env.Limit - v_1
 | |
| 		// literal, line 94
 | |
| 		if !env.EqSB("Y") {
 | |
| 			return false
 | |
| 		}
 | |
| 		break lab0
 | |
| 	}
 | |
| 	// ], line 94
 | |
| 	env.Bra = env.Cursor
 | |
| 	if !env.OutGroupingB(G_v, 97, 121) {
 | |
| 		return false
 | |
| 	}
 | |
| 	// not, line 95
 | |
| 	var v_2 = env.Limit - env.Cursor
 | |
| lab2:
 | |
| 	for {
 | |
| 		// atlimit, line 95
 | |
| 		if env.Cursor > env.LimitBackward {
 | |
| 			break lab2
 | |
| 		}
 | |
| 		return false
 | |
| 	}
 | |
| 	env.Cursor = env.Limit - v_2
 | |
| 	// <-, line 96
 | |
| 	if !env.SliceFrom("i") {
 | |
| 		return false
 | |
| 	}
 | |
| 	return true
 | |
| }
 | |
| 
 | |
| func r_Step_2(env *snowballRuntime.Env, ctx interface{}) bool {
 | |
| 	context := ctx.(*Context)
 | |
| 	_ = context
 | |
| 	var among_var int32
 | |
| 	// (, line 99
 | |
| 	// [, line 100
 | |
| 	env.Ket = env.Cursor
 | |
| 	// substring, line 100
 | |
| 	among_var = env.FindAmongB(A_5, context)
 | |
| 	if among_var == 0 {
 | |
| 		return false
 | |
| 	}
 | |
| 	// ], line 100
 | |
| 	env.Bra = env.Cursor
 | |
| 	// call R1, line 100
 | |
| 	if !r_R1(env, context) {
 | |
| 		return false
 | |
| 	}
 | |
| 	if among_var == 0 {
 | |
| 		return false
 | |
| 	} else if among_var == 1 {
 | |
| 		// (, line 101
 | |
| 		// <-, line 101
 | |
| 		if !env.SliceFrom("tion") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 2 {
 | |
| 		// (, line 102
 | |
| 		// <-, line 102
 | |
| 		if !env.SliceFrom("ence") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 3 {
 | |
| 		// (, line 103
 | |
| 		// <-, line 103
 | |
| 		if !env.SliceFrom("ance") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 4 {
 | |
| 		// (, line 104
 | |
| 		// <-, line 104
 | |
| 		if !env.SliceFrom("able") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 5 {
 | |
| 		// (, line 105
 | |
| 		// <-, line 105
 | |
| 		if !env.SliceFrom("ent") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 6 {
 | |
| 		// (, line 107
 | |
| 		// <-, line 107
 | |
| 		if !env.SliceFrom("ize") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 7 {
 | |
| 		// (, line 109
 | |
| 		// <-, line 109
 | |
| 		if !env.SliceFrom("ate") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 8 {
 | |
| 		// (, line 111
 | |
| 		// <-, line 111
 | |
| 		if !env.SliceFrom("al") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 9 {
 | |
| 		// (, line 112
 | |
| 		// <-, line 112
 | |
| 		if !env.SliceFrom("ful") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 10 {
 | |
| 		// (, line 114
 | |
| 		// <-, line 114
 | |
| 		if !env.SliceFrom("ous") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 11 {
 | |
| 		// (, line 116
 | |
| 		// <-, line 116
 | |
| 		if !env.SliceFrom("ive") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 12 {
 | |
| 		// (, line 118
 | |
| 		// <-, line 118
 | |
| 		if !env.SliceFrom("ble") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 13 {
 | |
| 		// (, line 119
 | |
| 		// literal, line 119
 | |
| 		if !env.EqSB("l") {
 | |
| 			return false
 | |
| 		}
 | |
| 		// <-, line 119
 | |
| 		if !env.SliceFrom("og") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 14 {
 | |
| 		// (, line 120
 | |
| 		// <-, line 120
 | |
| 		if !env.SliceFrom("ful") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 15 {
 | |
| 		// (, line 121
 | |
| 		// <-, line 121
 | |
| 		if !env.SliceFrom("less") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 16 {
 | |
| 		// (, line 122
 | |
| 		if !env.InGroupingB(G_valid_LI, 99, 116) {
 | |
| 			return false
 | |
| 		}
 | |
| 		// delete, line 122
 | |
| 		if !env.SliceDel() {
 | |
| 			return false
 | |
| 		}
 | |
| 	}
 | |
| 	return true
 | |
| }
 | |
| 
 | |
| func r_Step_3(env *snowballRuntime.Env, ctx interface{}) bool {
 | |
| 	context := ctx.(*Context)
 | |
| 	_ = context
 | |
| 	var among_var int32
 | |
| 	// (, line 126
 | |
| 	// [, line 127
 | |
| 	env.Ket = env.Cursor
 | |
| 	// substring, line 127
 | |
| 	among_var = env.FindAmongB(A_6, context)
 | |
| 	if among_var == 0 {
 | |
| 		return false
 | |
| 	}
 | |
| 	// ], line 127
 | |
| 	env.Bra = env.Cursor
 | |
| 	// call R1, line 127
 | |
| 	if !r_R1(env, context) {
 | |
| 		return false
 | |
| 	}
 | |
| 	if among_var == 0 {
 | |
| 		return false
 | |
| 	} else if among_var == 1 {
 | |
| 		// (, line 128
 | |
| 		// <-, line 128
 | |
| 		if !env.SliceFrom("tion") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 2 {
 | |
| 		// (, line 129
 | |
| 		// <-, line 129
 | |
| 		if !env.SliceFrom("ate") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 3 {
 | |
| 		// (, line 130
 | |
| 		// <-, line 130
 | |
| 		if !env.SliceFrom("al") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 4 {
 | |
| 		// (, line 132
 | |
| 		// <-, line 132
 | |
| 		if !env.SliceFrom("ic") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 5 {
 | |
| 		// (, line 134
 | |
| 		// delete, line 134
 | |
| 		if !env.SliceDel() {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 6 {
 | |
| 		// (, line 136
 | |
| 		// call R2, line 136
 | |
| 		if !r_R2(env, context) {
 | |
| 			return false
 | |
| 		}
 | |
| 		// delete, line 136
 | |
| 		if !env.SliceDel() {
 | |
| 			return false
 | |
| 		}
 | |
| 	}
 | |
| 	return true
 | |
| }
 | |
| 
 | |
| func r_Step_4(env *snowballRuntime.Env, ctx interface{}) bool {
 | |
| 	context := ctx.(*Context)
 | |
| 	_ = context
 | |
| 	var among_var int32
 | |
| 	// (, line 140
 | |
| 	// [, line 141
 | |
| 	env.Ket = env.Cursor
 | |
| 	// substring, line 141
 | |
| 	among_var = env.FindAmongB(A_7, context)
 | |
| 	if among_var == 0 {
 | |
| 		return false
 | |
| 	}
 | |
| 	// ], line 141
 | |
| 	env.Bra = env.Cursor
 | |
| 	// call R2, line 141
 | |
| 	if !r_R2(env, context) {
 | |
| 		return false
 | |
| 	}
 | |
| 	if among_var == 0 {
 | |
| 		return false
 | |
| 	} else if among_var == 1 {
 | |
| 		// (, line 144
 | |
| 		// delete, line 144
 | |
| 		if !env.SliceDel() {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 2 {
 | |
| 		// (, line 145
 | |
| 		// or, line 145
 | |
| 	lab0:
 | |
| 		for {
 | |
| 			var v_1 = env.Limit - env.Cursor
 | |
| 		lab1:
 | |
| 			for {
 | |
| 				// literal, line 145
 | |
| 				if !env.EqSB("s") {
 | |
| 					break lab1
 | |
| 				}
 | |
| 				break lab0
 | |
| 			}
 | |
| 			env.Cursor = env.Limit - v_1
 | |
| 			// literal, line 145
 | |
| 			if !env.EqSB("t") {
 | |
| 				return false
 | |
| 			}
 | |
| 			break lab0
 | |
| 		}
 | |
| 		// delete, line 145
 | |
| 		if !env.SliceDel() {
 | |
| 			return false
 | |
| 		}
 | |
| 	}
 | |
| 	return true
 | |
| }
 | |
| 
 | |
| func r_Step_5(env *snowballRuntime.Env, ctx interface{}) bool {
 | |
| 	context := ctx.(*Context)
 | |
| 	_ = context
 | |
| 	var among_var int32
 | |
| 	// (, line 149
 | |
| 	// [, line 150
 | |
| 	env.Ket = env.Cursor
 | |
| 	// substring, line 150
 | |
| 	among_var = env.FindAmongB(A_8, context)
 | |
| 	if among_var == 0 {
 | |
| 		return false
 | |
| 	}
 | |
| 	// ], line 150
 | |
| 	env.Bra = env.Cursor
 | |
| 	if among_var == 0 {
 | |
| 		return false
 | |
| 	} else if among_var == 1 {
 | |
| 		// (, line 151
 | |
| 		// or, line 151
 | |
| 	lab0:
 | |
| 		for {
 | |
| 			var v_1 = env.Limit - env.Cursor
 | |
| 		lab1:
 | |
| 			for {
 | |
| 				// call R2, line 151
 | |
| 				if !r_R2(env, context) {
 | |
| 					break lab1
 | |
| 				}
 | |
| 				break lab0
 | |
| 			}
 | |
| 			env.Cursor = env.Limit - v_1
 | |
| 			// (, line 151
 | |
| 			// call R1, line 151
 | |
| 			if !r_R1(env, context) {
 | |
| 				return false
 | |
| 			}
 | |
| 			// not, line 151
 | |
| 			var v_2 = env.Limit - env.Cursor
 | |
| 		lab2:
 | |
| 			for {
 | |
| 				// call shortv, line 151
 | |
| 				if !r_shortv(env, context) {
 | |
| 					break lab2
 | |
| 				}
 | |
| 				return false
 | |
| 			}
 | |
| 			env.Cursor = env.Limit - v_2
 | |
| 			break lab0
 | |
| 		}
 | |
| 		// delete, line 151
 | |
| 		if !env.SliceDel() {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 2 {
 | |
| 		// (, line 152
 | |
| 		// call R2, line 152
 | |
| 		if !r_R2(env, context) {
 | |
| 			return false
 | |
| 		}
 | |
| 		// literal, line 152
 | |
| 		if !env.EqSB("l") {
 | |
| 			return false
 | |
| 		}
 | |
| 		// delete, line 152
 | |
| 		if !env.SliceDel() {
 | |
| 			return false
 | |
| 		}
 | |
| 	}
 | |
| 	return true
 | |
| }
 | |
| 
 | |
| func r_exception2(env *snowballRuntime.Env, ctx interface{}) bool {
 | |
| 	context := ctx.(*Context)
 | |
| 	_ = context
 | |
| 	// (, line 156
 | |
| 	// [, line 158
 | |
| 	env.Ket = env.Cursor
 | |
| 	// substring, line 158
 | |
| 	if env.FindAmongB(A_9, context) == 0 {
 | |
| 		return false
 | |
| 	}
 | |
| 	// ], line 158
 | |
| 	env.Bra = env.Cursor
 | |
| 	// atlimit, line 158
 | |
| 	if env.Cursor > env.LimitBackward {
 | |
| 		return false
 | |
| 	}
 | |
| 	return true
 | |
| }
 | |
| 
 | |
| func r_exception1(env *snowballRuntime.Env, ctx interface{}) bool {
 | |
| 	context := ctx.(*Context)
 | |
| 	_ = context
 | |
| 	var among_var int32
 | |
| 	// (, line 168
 | |
| 	// [, line 170
 | |
| 	env.Bra = env.Cursor
 | |
| 	// substring, line 170
 | |
| 	among_var = env.FindAmong(A_10, context)
 | |
| 	if among_var == 0 {
 | |
| 		return false
 | |
| 	}
 | |
| 	// ], line 170
 | |
| 	env.Ket = env.Cursor
 | |
| 	// atlimit, line 170
 | |
| 	if env.Cursor < env.Limit {
 | |
| 		return false
 | |
| 	}
 | |
| 	if among_var == 0 {
 | |
| 		return false
 | |
| 	} else if among_var == 1 {
 | |
| 		// (, line 174
 | |
| 		// <-, line 174
 | |
| 		if !env.SliceFrom("ski") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 2 {
 | |
| 		// (, line 175
 | |
| 		// <-, line 175
 | |
| 		if !env.SliceFrom("sky") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 3 {
 | |
| 		// (, line 176
 | |
| 		// <-, line 176
 | |
| 		if !env.SliceFrom("die") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 4 {
 | |
| 		// (, line 177
 | |
| 		// <-, line 177
 | |
| 		if !env.SliceFrom("lie") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 5 {
 | |
| 		// (, line 178
 | |
| 		// <-, line 178
 | |
| 		if !env.SliceFrom("tie") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 6 {
 | |
| 		// (, line 182
 | |
| 		// <-, line 182
 | |
| 		if !env.SliceFrom("idl") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 7 {
 | |
| 		// (, line 183
 | |
| 		// <-, line 183
 | |
| 		if !env.SliceFrom("gentl") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 8 {
 | |
| 		// (, line 184
 | |
| 		// <-, line 184
 | |
| 		if !env.SliceFrom("ugli") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 9 {
 | |
| 		// (, line 185
 | |
| 		// <-, line 185
 | |
| 		if !env.SliceFrom("earli") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 10 {
 | |
| 		// (, line 186
 | |
| 		// <-, line 186
 | |
| 		if !env.SliceFrom("onli") {
 | |
| 			return false
 | |
| 		}
 | |
| 	} else if among_var == 11 {
 | |
| 		// (, line 187
 | |
| 		// <-, line 187
 | |
| 		if !env.SliceFrom("singl") {
 | |
| 			return false
 | |
| 		}
 | |
| 	}
 | |
| 	return true
 | |
| }
 | |
| 
 | |
| func r_postlude(env *snowballRuntime.Env, ctx interface{}) bool {
 | |
| 	context := ctx.(*Context)
 | |
| 	_ = context
 | |
| 	// (, line 203
 | |
| 	// Boolean test Y_found, line 203
 | |
| 	if !context.b_Y_found {
 | |
| 		return false
 | |
| 	}
 | |
| 	// repeat, line 203
 | |
| replab0:
 | |
| 	for {
 | |
| 		var v_1 = env.Cursor
 | |
| 	lab1:
 | |
| 		for range [2]struct{}{} {
 | |
| 			// (, line 203
 | |
| 			// goto, line 203
 | |
| 		golab2:
 | |
| 			for {
 | |
| 				var v_2 = env.Cursor
 | |
| 			lab3:
 | |
| 				for {
 | |
| 					// (, line 203
 | |
| 					// [, line 203
 | |
| 					env.Bra = env.Cursor
 | |
| 					// literal, line 203
 | |
| 					if !env.EqS("Y") {
 | |
| 						break lab3
 | |
| 					}
 | |
| 					// ], line 203
 | |
| 					env.Ket = env.Cursor
 | |
| 					env.Cursor = v_2
 | |
| 					break golab2
 | |
| 				}
 | |
| 				env.Cursor = v_2
 | |
| 				if env.Cursor >= env.Limit {
 | |
| 					break lab1
 | |
| 				}
 | |
| 				env.NextChar()
 | |
| 			}
 | |
| 			// <-, line 203
 | |
| 			if !env.SliceFrom("y") {
 | |
| 				return false
 | |
| 			}
 | |
| 			continue replab0
 | |
| 		}
 | |
| 		env.Cursor = v_1
 | |
| 		break replab0
 | |
| 	}
 | |
| 	return true
 | |
| }
 | |
| 
 | |
| func Stem(env *snowballRuntime.Env) bool {
 | |
| 	var context = &Context{
 | |
| 		b_Y_found: false,
 | |
| 		i_p2:      0,
 | |
| 		i_p1:      0,
 | |
| 	}
 | |
| 	_ = context
 | |
| 	// (, line 205
 | |
| 	// or, line 207
 | |
| lab0:
 | |
| 	for {
 | |
| 		var v_1 = env.Cursor
 | |
| 	lab1:
 | |
| 		for {
 | |
| 			// call exception1, line 207
 | |
| 			if !r_exception1(env, context) {
 | |
| 				break lab1
 | |
| 			}
 | |
| 			break lab0
 | |
| 		}
 | |
| 		env.Cursor = v_1
 | |
| 	lab2:
 | |
| 		for {
 | |
| 			// not, line 208
 | |
| 			var v_2 = env.Cursor
 | |
| 		lab3:
 | |
| 			for {
 | |
| 				{
 | |
| 					// hop, line 208
 | |
| 					var c = env.ByteIndexForHop((3))
 | |
| 					if int32(0) > c || c > int32(env.Limit) {
 | |
| 						break lab3
 | |
| 					}
 | |
| 					env.Cursor = int(c)
 | |
| 				}
 | |
| 				break lab2
 | |
| 			}
 | |
| 			env.Cursor = v_2
 | |
| 			break lab0
 | |
| 		}
 | |
| 		env.Cursor = v_1
 | |
| 		// (, line 208
 | |
| 		// do, line 209
 | |
| 		var v_3 = env.Cursor
 | |
| 	lab4:
 | |
| 		for {
 | |
| 			// call prelude, line 209
 | |
| 			if !r_prelude(env, context) {
 | |
| 				break lab4
 | |
| 			}
 | |
| 			break lab4
 | |
| 		}
 | |
| 		env.Cursor = v_3
 | |
| 		// do, line 210
 | |
| 		var v_4 = env.Cursor
 | |
| 	lab5:
 | |
| 		for {
 | |
| 			// call mark_regions, line 210
 | |
| 			if !r_mark_regions(env, context) {
 | |
| 				break lab5
 | |
| 			}
 | |
| 			break lab5
 | |
| 		}
 | |
| 		env.Cursor = v_4
 | |
| 		// backwards, line 211
 | |
| 		env.LimitBackward = env.Cursor
 | |
| 		env.Cursor = env.Limit
 | |
| 		// (, line 211
 | |
| 		// do, line 213
 | |
| 		var v_5 = env.Limit - env.Cursor
 | |
| 	lab6:
 | |
| 		for {
 | |
| 			// call Step_1a, line 213
 | |
| 			if !r_Step_1a(env, context) {
 | |
| 				break lab6
 | |
| 			}
 | |
| 			break lab6
 | |
| 		}
 | |
| 		env.Cursor = env.Limit - v_5
 | |
| 		// or, line 215
 | |
| 	lab7:
 | |
| 		for {
 | |
| 			var v_6 = env.Limit - env.Cursor
 | |
| 		lab8:
 | |
| 			for {
 | |
| 				// call exception2, line 215
 | |
| 				if !r_exception2(env, context) {
 | |
| 					break lab8
 | |
| 				}
 | |
| 				break lab7
 | |
| 			}
 | |
| 			env.Cursor = env.Limit - v_6
 | |
| 			// (, line 215
 | |
| 			// do, line 217
 | |
| 			var v_7 = env.Limit - env.Cursor
 | |
| 		lab9:
 | |
| 			for {
 | |
| 				// call Step_1b, line 217
 | |
| 				if !r_Step_1b(env, context) {
 | |
| 					break lab9
 | |
| 				}
 | |
| 				break lab9
 | |
| 			}
 | |
| 			env.Cursor = env.Limit - v_7
 | |
| 			// do, line 218
 | |
| 			var v_8 = env.Limit - env.Cursor
 | |
| 		lab10:
 | |
| 			for {
 | |
| 				// call Step_1c, line 218
 | |
| 				if !r_Step_1c(env, context) {
 | |
| 					break lab10
 | |
| 				}
 | |
| 				break lab10
 | |
| 			}
 | |
| 			env.Cursor = env.Limit - v_8
 | |
| 			// do, line 220
 | |
| 			var v_9 = env.Limit - env.Cursor
 | |
| 		lab11:
 | |
| 			for {
 | |
| 				// call Step_2, line 220
 | |
| 				if !r_Step_2(env, context) {
 | |
| 					break lab11
 | |
| 				}
 | |
| 				break lab11
 | |
| 			}
 | |
| 			env.Cursor = env.Limit - v_9
 | |
| 			// do, line 221
 | |
| 			var v_10 = env.Limit - env.Cursor
 | |
| 		lab12:
 | |
| 			for {
 | |
| 				// call Step_3, line 221
 | |
| 				if !r_Step_3(env, context) {
 | |
| 					break lab12
 | |
| 				}
 | |
| 				break lab12
 | |
| 			}
 | |
| 			env.Cursor = env.Limit - v_10
 | |
| 			// do, line 222
 | |
| 			var v_11 = env.Limit - env.Cursor
 | |
| 		lab13:
 | |
| 			for {
 | |
| 				// call Step_4, line 222
 | |
| 				if !r_Step_4(env, context) {
 | |
| 					break lab13
 | |
| 				}
 | |
| 				break lab13
 | |
| 			}
 | |
| 			env.Cursor = env.Limit - v_11
 | |
| 			// do, line 224
 | |
| 			var v_12 = env.Limit - env.Cursor
 | |
| 		lab14:
 | |
| 			for {
 | |
| 				// call Step_5, line 224
 | |
| 				if !r_Step_5(env, context) {
 | |
| 					break lab14
 | |
| 				}
 | |
| 				break lab14
 | |
| 			}
 | |
| 			env.Cursor = env.Limit - v_12
 | |
| 			break lab7
 | |
| 		}
 | |
| 		env.Cursor = env.LimitBackward
 | |
| 		// do, line 227
 | |
| 		var v_13 = env.Cursor
 | |
| 	lab15:
 | |
| 		for {
 | |
| 			// call postlude, line 227
 | |
| 			if !r_postlude(env, context) {
 | |
| 				break lab15
 | |
| 			}
 | |
| 			break lab15
 | |
| 		}
 | |
| 		env.Cursor = v_13
 | |
| 		break lab0
 | |
| 	}
 | |
| 	return true
 | |
| }
 |