annotate paper/escape_agda.rb @ 51:6318c8f4bb8c

Writing Agda description
author atton <atton@cr.ie.u-ryukyu.ac.jp>
date Tue, 31 Jan 2017 11:57:12 +0900
parents
children fb42478e4c96
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
51
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 #!/usr/bin/env ruby
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 Suffix = '.agda.replaced'
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 EscapeChar = '@'
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 FileName = ARGV.first
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 ReplaceTable = {
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 '->' => 'rightarrow',
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 '∙' => 'circ',
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 '≡' => 'equiv',
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 '×' => 'times',
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 '⟨' => 'langle',
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 '⟩' => 'rangle',
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 '∎' => 'blacksquare'
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 }
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 code = File.read(FileName)
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 ReplaceTable.each do |k, v|
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 escaped_str = EscapeChar + "$\\#{v}$" + EscapeChar
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 code = code.gsub(k, escaped_str)
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 end
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 File.write(FileName.sub(/.agda$/, Suffix), code)