aboutsummaryrefslogtreecommitdiffstats
path: root/test/profile2.ok
diff options
context:
space:
mode:
Diffstat (limited to 'test/profile2.ok')
-rw-r--r--test/profile2.ok170
1 files changed, 170 insertions, 0 deletions
diff --git a/test/profile2.ok b/test/profile2.ok
new file mode 100644
index 00000000..11dccdcd
--- /dev/null
+++ b/test/profile2.ok
@@ -0,0 +1,170 @@
+ # BEGIN block(s)
+
+ BEGIN {
+ 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, ":")
+ 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, ":")
+ 1 state = 1
+ 571 for (; ; ) {
+ 571 symb = lex()
+ 571 nextstate = substr(machine[state symb], 1, 1)
+ 571 act = substr(machine[state symb], 2, 1)
+ 571 if (act == "0") { # 12
+ 559 } else {
+ 559 if (act == "1") { # 8
+ 8 if (! inarray(tok, names)) { # 3
+ 3 names[++nnames] = tok
+ }
+ 8 lines[tok, ++xnames[tok]] = NR
+ 551 } else {
+ 551 if (act == "2") { # 426
+ 426 if (tok in local) { # 309
+ 309 tok = tok "(" funcname ")"
+ 309 if (! inarray(tok, names)) { # 22
+ 22 names[++nnames] = tok
+ }
+ 309 lines[tok, ++xnames[tok]] = NR
+ 117 } else {
+ 117 tok = tok "()"
+ 117 if (! inarray(tok, names)) { # 22
+ 22 names[++nnames] = tok
+ }
+ 117 lines[tok, ++xnames[tok]] = NR
+ }
+ 125 } else {
+ 125 if (act == "3") { # 4
+ 4 funcname = tok
+ 4 flines[tok] = NR
+ 121 } else {
+ 121 if (act == "4") { # 49
+ 49 braces++
+ 72 } else {
+ 72 if (act == "5") { # 49
+ 49 braces--
+ 49 if (braces == 0) { # 4
+ 22 for (temp in local) {
+ 22 delete local[temp]
+ }
+ 4 funcname = ""
+ 4 nextstate = 1
+ }
+ 23 } else {
+ 23 if (act == "6") { # 22
+ 22 local[tok] = 1
+ 1 } else {
+ 1 if (act == "7") { # 1
+ 1 break
+ } else {
+ if (act == "8") {
+ print("error: xref.awk: line " NR ": aborting") > "/dev/con"
+ exit 1
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ 570 state = nextstate
+ }
+ 1 sortcmd = "sort -k1"
+ 47 for (i = 1; i <= nnames; i++) {
+ 47 printf("%d ", xnames[names[i]]) | sortcmd
+ 47 if (index(names[i], "(") == 0) { # 3
+ 3 printf("%s(%d)", names[i], flines[names[i]]) | sortcmd
+ 44 } else {
+ 44 printf("%s", names[i]) | sortcmd
+ }
+ 434 for (j = 1; j <= xnames[names[i]]; j++) {
+ 434 if (lines[names[i], j] != lines[names[i], j - 1]) { # 390
+ 390 printf(" %d", lines[names[i], j]) | sortcmd
+ }
+ }
+ 47 printf("\n") | sortcmd
+ }
+ 1 close(sortcmd)
+ }
+
+
+ # Functions, listed alphabetically
+
+ 1 function asplit(str, arr, fs, n)
+ {
+ 1 n = split(str, temp_asplit, fs)
+ 36 for (i = 1; i <= n; i++) {
+ 36 arr[temp_asplit[i]]++
+ }
+ }
+
+ 434 function inarray(val, arr, j)
+ {
+ 11003 for (j in arr) {
+ 11003 if (arr[j] == val) { # 387
+ 387 return j
+ }
+ }
+ 47 return ""
+ }
+
+ 571 function lex()
+ {
+ 1702 for (; ; ) {
+ 1702 if (tok == "(eof)") {
+ return 7
+ }
+ 326 while (length(line) == 0) {
+ 326 if ((getline line) == 0) { # 1
+ 1 tok = "(eof)"
+ 1 return 7
+ }
+ }
+ 1701 sub(/^[ \t]+/, "", line)
+ 1701 sub(/^"([^"]|\\")*"/, "", line)
+ 1701 sub(/^\/([^\/]|\\\/)+\//, "", line)
+ 1701 sub(/^#.*/, "", line)
+ 1701 if (line ~ /^function/) { # 4
+ 4 tok = "function"
+ 4 line = substr(line, 9)
+ 4 return 1
+ 1697 } else {
+ 1697 if (line ~ /^{/) { # 53
+ 53 tok = "{"
+ 53 line = substr(line, 2)
+ 53 return 2
+ 1644 } else {
+ 1644 if (line ~ /^}/) { # 53
+ 53 tok = "}"
+ 53 line = substr(line, 2)
+ 53 return 3
+ 1591 } else {
+ 1591 if (match(line, /^[[:alpha:]_][[:alnum:]]*\[/)) { # 43
+ 43 tok = substr(line, 1, RLENGTH - 1)
+ 43 line = substr(line, RLENGTH + 1)
+ 43 return 5
+ 1548 } else {
+ 1548 if (match(line, /^[[:alpha:]_][[:alnum:]]*\(/)) { # 87
+ 87 tok = substr(line, 1, RLENGTH - 1)
+ 87 line = substr(line, RLENGTH + 1)
+ 87 if (! (tok in keywords)) { # 12
+ 12 return 6
+ }
+ 1461 } else {
+ 1461 if (match(line, /^[[:alpha:]_][[:alnum:]]*/)) { # 525
+ 525 tok = substr(line, 1, RLENGTH)
+ 525 line = substr(line, RLENGTH + 1)
+ 525 if (! (tok in keywords)) { # 405
+ 405 return 4
+ }
+ 936 } else {
+ 936 match(line, /^[^[:alpha:]_{}]/)
+ 936 tok = substr(line, 1, RLENGTH)
+ 936 line = substr(line, RLENGTH + 1)
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }