summaryrefslogtreecommitdiffhomepage
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/completion56
-rwxr-xr-xscripts/gen-america11
-rwxr-xr-xscripts/gen-ecoin12
-rwxr-xr-xscripts/gen-stats34
-rw-r--r--scripts/getcls.awk8
-rwxr-xr-xscripts/tr6
6 files changed, 120 insertions, 7 deletions
diff --git a/scripts/completion b/scripts/completion
new file mode 100755
index 0000000..0b9881e
--- /dev/null
+++ b/scripts/completion
@@ -0,0 +1,56 @@
+#!/bin/sh
+
+gawk -v CC="$1" -v TYPE="$2" -v MODE="$3" '
+function hndl(x)
+{
+ if (x == "/")
+ return
+ if (x ~ /X/) {
+ have_c++
+ cnt_c++
+ } else if (x ~ /[O@]/) {
+ have_n++
+ cnt_n++
+ } else if (x ~ /[-^]/) {
+ cnt_c++
+ } else if (x ~ /[*%+]/) {
+ cnt_n++
+ } else if (x == "?") {
+ cnt_u++
+ }
+}
+
+function gen(have, cnt)
+{
+ if (cnt == 0)
+ print "N/A"
+ else
+ printf "%d/%d (%d%%)\n", have, cnt, have / cnt * 100
+}
+
+BEGIN {
+ CC = toupper(CC)
+}
+
+FILENAME == "data/coins" && $1 == CC && TYPE == "s" && $2 != "start" {
+ split($0, xs)
+ for (i = 2; i < length(xs); i++)
+ hndl(xs[i])
+}
+
+FILENAME == "data/ccs" && $1 == CC && TYPE == "c" {
+ gsub(/([A-Z]{2} [0-9]{4} |\t.*)/, " ")
+ split($0, xs)
+ for (i = 1; i <= length(xs); i++)
+ hndl(xs[i])
+}
+
+END {
+ if (MODE == "circ")
+ gen(have_c, cnt_c)
+ else if (MODE == "nifc")
+ gen(have_n, cnt_n)
+ else if (MODE == "comb")
+ gen(have_c + have_n, cnt_c + cnt_n + cnt_u)
+}
+' data/coins data/ccs \ No newline at end of file
diff --git a/scripts/gen-america b/scripts/gen-america
index bc7bd95..59eebf0 100755
--- a/scripts/gen-america
+++ b/scripts/gen-america
@@ -1,6 +1,6 @@
#!/bin/sh
-gawk '
+gawk -vfile="$1" '
@include "scripts/getcls.awk"
function getsup(i, s)
@@ -28,10 +28,13 @@ BEGIN {
}
{
- printf "trX { td .missing colspan=\"2\" {-%s}", $3
+ if (file == "sds")
+ printf "trX {"
+ else
+ printf "trX { td .missing colspan=\"2\" {-%s}", $3
split($2, a, / /)
for (i = 1; i <= length(a); i++)
- printf "td .%s colspan=\"1\" {-%s %s}", getcls(a[i]), $1, getsup(i)
+ printf "td .%s colspan=\"1\" {-%s %s}", getcls(a[i]), $1, getsup(i)
print "}"
}
@@ -39,4 +42,4 @@ END {
print "__MARKER__"
}
' data/world/$1.us \
-| scripts/last-of-design.sed
+| scripts/last-of-design.sed \ No newline at end of file
diff --git a/scripts/gen-ecoin b/scripts/gen-ecoin
index 9d39205..190725a 100755
--- a/scripts/gen-ecoin
+++ b/scripts/gen-ecoin
@@ -1,12 +1,20 @@
#!/bin/sh
gawk -v CC=$1 '
+@include "scripts/getcls.awk"
+
BEGIN {
FS = "\t"
CC = toupper(CC)
}
$1 == CC {
- printf "tr {td{-%s} td{-%s} td .have colspan=\"5\" {-%s}}", $2, $3, $4
+ if (split($2, a, " ") == 1) {
+ printf "tr {td{-%s} td{-%s} td .%s colspan=\"5\" {-%s}}", \
+ $2, $3, getcls($4), $5
+ } else {
+ printf "tr {td{-%s @sup{-%s}} td{-%s} td .%s colspan=\"5\" {-%s}}", \
+ a[1], a[2], $3, getcls($4), $5
+ }
}
-' data/errors
+' data/extras
diff --git a/scripts/gen-stats b/scripts/gen-stats
new file mode 100755
index 0000000..f51e19c
--- /dev/null
+++ b/scripts/gen-stats
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+gawk -v CC=$1 '
+@include "scripts/getcls.awk"
+
+function hndl(x) {
+ if (x == "/")
+ return
+ if (x ~ /[XO@]/)
+ have++
+ cnt++
+}
+
+BEGIN {
+ CC = toupper(CC)
+}
+
+FILENAME == "data/coins" && $1 == CC && $2 != "start" {
+ split($0, xs)
+ for (i = 2; i < length(xs); i++)
+ hndl(xs[i])
+}
+
+FILENAME == "data/ccs" && $1 == CC {
+ gsub(/([A-Z]{2} [0-9]{4} |\t.*)/, " ")
+ split($0, xs)
+ for (i = 1; i <= length(xs); i++)
+ hndl(xs[i])
+}
+
+END {
+ printf "%d/%d (%d%%)\n", have, cnt, have / cnt * 100
+}
+' data/coins data/ccs \ No newline at end of file
diff --git a/scripts/getcls.awk b/scripts/getcls.awk
index f53dc14..fd18e37 100644
--- a/scripts/getcls.awk
+++ b/scripts/getcls.awk
@@ -11,6 +11,12 @@ function getcls(c)
return "have-nifc"
case "@":
return "have-proof"
+ case "^":
+ return "getting"
+ case "%":
+ return "getting-nifc"
+ case "+":
+ return "getting-proof"
case "?":
return "unknown"
case "/":
@@ -18,4 +24,4 @@ function getcls(c)
default:
return "error"
}
-}
+} \ No newline at end of file
diff --git a/scripts/tr b/scripts/tr
new file mode 100755
index 0000000..63e600b
--- /dev/null
+++ b/scripts/tr
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+echo "$1" | sed -E '
+ s/((..):([^,]+))/@span lang="\2" .translation {-\3}/g
+ s/,//g
+' \ No newline at end of file