Blame test/profile2.ok

Packit Service f629e6
	# BEGIN rule(s)
Packit Service f629e6
Packit Service f629e6
	BEGIN {
Packit Service f629e6
     1  	if (sortcmd == "") {
Packit Service f629e6
			sortcmd = "sort"
Packit Service f629e6
		}
Packit Service f629e6
     1  	asplit("BEGIN:END:atan2:break:close:continue:cos:delete:" "do:else:exit:exp:for:getline:gsub:if:in:index:int:" "length:log:match:next:print:printf:rand:return:sin:" "split:sprintf:sqrt:srand:sub:substr:system:while", keywords, ":")
Packit Service f629e6
     1  	split("00:00:00:00:00:00:00:00:00:00:" "20:10:10:12:12:11:07:00:00:00:" "08:08:08:08:08:33:08:00:00:00:" "08:44:08:36:08:08:08:00:00:00:" "08:44:45:42:42:41:08", machine, ":")
Packit Service f629e6
     1  	state = 1
Packit Service f629e6
   571  	for (;;) {
Packit Service f629e6
   571  		symb = lex()
Packit Service f629e6
   571  		nextstate = substr(machine[state symb], 1, 1)
Packit Service f629e6
   571  		act = substr(machine[state symb], 2, 1)
Packit Service f629e6
   571  		if (act == "0") { # 12
Packit Service f629e6
   559  		} else if (act == "1") { # 8
Packit Service f629e6
     8  			if (! inarray(tok, names)) { # 3
Packit Service f629e6
     3  				names[++nnames] = tok
Packit Service f629e6
				}
Packit Service f629e6
     8  			lines[tok, ++xnames[tok]] = NR
Packit Service f629e6
   551  		} else if (act == "2") { # 426
Packit Service f629e6
   426  			if (tok in local) { # 309
Packit Service f629e6
   309  				tok = tok "(" funcname ")"
Packit Service f629e6
   309  				if (! inarray(tok, names)) { # 22
Packit Service f629e6
    22  					names[++nnames] = tok
Packit Service f629e6
					}
Packit Service f629e6
   309  				lines[tok, ++xnames[tok]] = NR
Packit Service f629e6
   117  			} else {
Packit Service f629e6
   117  				tok = tok "()"
Packit Service f629e6
   117  				if (! inarray(tok, names)) { # 22
Packit Service f629e6
    22  					names[++nnames] = tok
Packit Service f629e6
					}
Packit Service f629e6
   117  				lines[tok, ++xnames[tok]] = NR
Packit Service f629e6
				}
Packit Service f629e6
   125  		} else if (act == "3") { # 4
Packit Service f629e6
     4  			funcname = tok
Packit Service f629e6
     4  			flines[tok] = NR
Packit Service f629e6
   121  		} else if (act == "4") { # 49
Packit Service f629e6
    49  			braces++
Packit Service f629e6
    72  		} else if (act == "5") { # 49
Packit Service f629e6
    49  			braces--
Packit Service f629e6
    49  			if (braces == 0) { # 4
Packit Service f629e6
    22  				for (temp in local) {
Packit Service f629e6
    22  					delete local[temp]
Packit Service f629e6
					}
Packit Service f629e6
     4  				funcname = ""
Packit Service f629e6
     4  				nextstate = 1
Packit Service f629e6
				}
Packit Service f629e6
    23  		} else if (act == "6") { # 22
Packit Service f629e6
    22  			local[tok] = 1
Packit Service f629e6
     1  		} else if (act == "7") { # 1
Packit Service f629e6
     1  			break
Packit Service f629e6
			} else if (act == "8") {
Packit Service f629e6
				print("error: xref.awk: line " NR ": aborting") > "/dev/con"
Packit Service f629e6
				exit 1
Packit Service f629e6
			}
Packit Service f629e6
   570  		state = nextstate
Packit Service f629e6
		}
Packit Service f629e6
    47  	for (i = 1; i <= nnames; i++) {
Packit Service f629e6
    47  		printf("%d ", xnames[names[i]]) | sortcmd
Packit Service f629e6
    47  		if (index(names[i], "(") == 0) { # 3
Packit Service f629e6
     3  			printf("%s(%d)", names[i], flines[names[i]]) | sortcmd
Packit Service f629e6
    44  		} else {
Packit Service f629e6
    44  			printf("%s", names[i]) | sortcmd
Packit Service f629e6
			}
Packit Service f629e6
   434  		for (j = 1; j <= xnames[names[i]]; j++) {
Packit Service f629e6
   434  			if (lines[names[i], j] != lines[names[i], j - 1]) { # 390
Packit Service f629e6
   390  				printf(" %d", lines[names[i], j]) | sortcmd
Packit Service f629e6
				}
Packit Service f629e6
			}
Packit Service f629e6
    47  		printf("\n") | sortcmd
Packit Service f629e6
		}
Packit Service f629e6
     1  	close(sortcmd)
Packit Service f629e6
	}
Packit Service f629e6
Packit Service f629e6
Packit Service f629e6
	# Functions, listed alphabetically
Packit Service f629e6
Packit Service f629e6
     1  function asplit(str, arr, fs, n)
Packit Service f629e6
	{
Packit Service f629e6
     1  	n = split(str, temp_asplit, fs)
Packit Service f629e6
    36  	for (i = 1; i <= n; i++) {
Packit Service f629e6
    36  		arr[temp_asplit[i]]++
Packit Service f629e6
		}
Packit Service f629e6
	}
Packit Service f629e6
Packit Service f629e6
   434  function inarray(val, arr, j, tmp)
Packit Service f629e6
	{
Packit Service f629e6
 16297  	for (j in arr) {
Packit Service f629e6
 16297  		tmp[arr[j]]++
Packit Service f629e6
		}
Packit Service f629e6
   434  	return (val in tmp)
Packit Service f629e6
	}
Packit Service f629e6
Packit Service f629e6
   571  function lex()
Packit Service f629e6
	{
Packit Service f629e6
  1702  	for (;;) {
Packit Service f629e6
  1702  		if (tok == "(eof)") {
Packit Service f629e6
				return 7
Packit Service f629e6
			}
Packit Service f629e6
   326  		while (length(line) == 0) {
Packit Service f629e6
   326  			if ((getline line) == 0) { # 1
Packit Service f629e6
     1  				tok = "(eof)"
Packit Service f629e6
     1  				return 7
Packit Service f629e6
				}
Packit Service f629e6
			}
Packit Service f629e6
  1701  		sub(/^[ \t]+/, "", line)
Packit Service f629e6
  1701  		sub(/^"([^"]|\\")*"/, "", line)
Packit Service f629e6
  1701  		sub(/^\/([^\/]|\\\/)+\//, "", line)
Packit Service f629e6
  1701  		sub(/^#.*/, "", line)
Packit Service f629e6
  1701  		if (line ~ /^function/) { # 4
Packit Service f629e6
     4  			tok = "function"
Packit Service f629e6
     4  			line = substr(line, 9)
Packit Service f629e6
     4  			return 1
Packit Service f629e6
  1697  		} else if (line ~ /^{/) { # 53
Packit Service f629e6
    53  			tok = "{"
Packit Service f629e6
    53  			line = substr(line, 2)
Packit Service f629e6
    53  			return 2
Packit Service f629e6
  1644  		} else if (line ~ /^}/) { # 53
Packit Service f629e6
    53  			tok = "}"
Packit Service f629e6
    53  			line = substr(line, 2)
Packit Service f629e6
    53  			return 3
Packit Service f629e6
  1591  		} else if (match(line, /^[[:alpha:]_][[:alnum:]]*\[/)) { # 43
Packit Service f629e6
    43  			tok = substr(line, 1, RLENGTH - 1)
Packit Service f629e6
    43  			line = substr(line, RLENGTH + 1)
Packit Service f629e6
    43  			return 5
Packit Service f629e6
  1548  		} else if (match(line, /^[[:alpha:]_][[:alnum:]]*\(/)) { # 87
Packit Service f629e6
    87  			tok = substr(line, 1, RLENGTH - 1)
Packit Service f629e6
    87  			line = substr(line, RLENGTH + 1)
Packit Service f629e6
    87  			if (! (tok in keywords)) { # 12
Packit Service f629e6
    12  				return 6
Packit Service f629e6
				}
Packit Service f629e6
  1461  		} else if (match(line, /^[[:alpha:]_][[:alnum:]]*/)) { # 525
Packit Service f629e6
   525  			tok = substr(line, 1, RLENGTH)
Packit Service f629e6
   525  			line = substr(line, RLENGTH + 1)
Packit Service f629e6
   525  			if (! (tok in keywords)) { # 405
Packit Service f629e6
   405  				return 4
Packit Service f629e6
				}
Packit Service f629e6
   936  		} else {
Packit Service f629e6
   936  			match(line, /^[^[:alpha:]_{}]/)
Packit Service f629e6
   936  			tok = substr(line, 1, RLENGTH)
Packit Service f629e6
   936  			line = substr(line, RLENGTH + 1)
Packit Service f629e6
			}
Packit Service f629e6
		}
Packit Service f629e6
	}