/* $Id$ */ /* * Copyright (c) 2009 Kristaps Dzonsons * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /* * The ASCII translation table. The left-hand side corresponds to the * escape sequence (\x, \(xx and so on) whose length is listed second * element. The right-hand side is what's produced by the front-end, * with the fourth element being its length. * * Be sure to escape strings. */ LINE("\\", 1, "\\", 1) LINE("\'", 1, "\'", 1) LINE("`", 1, "`", 1) LINE("%", 1, "", 0) LINE("-", 1, "-", 1) LINE(" ", 1, " ", 1) LINE("~", 1, " ", 1) LINE("^", 1, "", 0) LINE("0", 1, " ", 1) LINE(".", 1, ".", 1) LINE("&", 1, "", 0) LINE("e", 1, "\\", 1) LINE("q", 1, "\"", 1) LINE("|", 1, "", 0) LINE("rC", 2, "}", 1) LINE("lC", 2, "{", 1) LINE("rB", 2, "]", 1) LINE("lB", 2, "[", 1) LINE("ra", 2, ">", 1) LINE("la", 2, "<", 1) LINE("Lq", 2, "``", 2) LINE("lq", 2, "``", 2) LINE("Rq", 2, "\'\'", 2) LINE("rq", 2, "\'\'", 2) LINE("oq", 2, "`", 1) LINE("aq", 2, "\'", 1) LINE("Bq", 2, ",,", 2) LINE("bq", 2, ",,", 2) LINE("<-", 2, "<-", 2) LINE("->", 2, "->", 2) LINE("<>", 2, "<>", 2) LINE("ua", 2, "^", 1) LINE("da", 2, "v", 1) LINE("bu", 2, "o", 1) LINE("ci", 2, "O", 1) LINE("Ba", 2, "|", 1) LINE("ba", 2, "|", 1) LINE("bb", 2, "|", 1) LINE("co", 2, "(C)", 3) LINE("rg", 2, "(R)", 3) LINE("tm", 2, "tm", 2) LINE("Am", 2, "&", 1) LINE("Le", 2, "<=", 2) LINE("<=", 2, "<=", 2) LINE("Ge", 2, ">=", 2) LINE(">=", 2, ">=", 2) LINE("==", 2, "==", 2) LINE("Ne", 2, "!=", 2) LINE("!=", 2, "!=", 2) LINE("Pm", 2, "+-", 2) LINE("+-", 2, "+-", 2) LINE("If", 2, "infinity", 8) LINE("if", 2, "oo", 2) LINE("Na", 2, "NaN", 3) LINE("na", 2, "NaN", 3) LINE("**", 2, "*", 1) LINE("Gt", 2, ">", 1) LINE("Lt", 2, "<", 1) LINE("aa", 2, "\'", 1) LINE("a~", 2, "~", 1) LINE("ga", 2, "`", 1) LINE("en", 2, "-", 1) LINE("em", 2, "--", 2) LINE("hy", 2, "-", 1) LINE("Pi", 2, "pi", 2) LINE("Fo", 2, "<<", 2) LINE("Fc", 2, ">>", 2) LINE("fo", 2, "<", 1) LINE("fc", 2, ">", 1) LINE("lh", 2, "<=", 2) LINE("rh", 2, "=>", 2) LINE("ae", 2, "ae", 2) LINE("AE", 2, "AE", 2) LINE("oe", 2, "oe", 2) LINE("OE", 2, "OE", 2) LINE("ss", 2, "ss", 2) LINE("\'A", 2, "A", 1) LINE("\'E", 2, "E", 1) LINE("\'I", 2, "I", 1) LINE("\'O", 2, "O", 1) LINE("\'U", 2, "U", 1) LINE("\'a", 2, "a", 1) LINE("\'e", 2, "e", 1) LINE("\'i", 2, "i", 1) LINE("\'o", 2, "o", 1) LINE("\'u", 2, "u", 1) LINE("`A", 2, "A", 1) LINE("`E", 2, "E", 1) LINE("`I", 2, "I", 1) LINE("`O", 2, "O", 1) LINE("`U", 2, "U", 1) LINE("`a", 2, "a", 1) LINE("`e", 2, "e", 1) LINE("`i", 2, "i", 1) LINE("`o", 2, "o", 1) LINE("`u", 2, "u", 1) LINE("~A", 2, "A", 1) LINE("~N", 2, "N", 1) LINE("~O", 2, "O", 1) LINE("~a", 2, "a", 1) LINE("~n", 2, "n", 1) LINE("~o", 2, "o", 1) LINE("lA", 2, "<=", 2) LINE("rA", 2, "=>", 2) LINE("uA", 2, "^", 1) LINE("dA", 2, "v", 1) LINE("hA", 2, "<=>", 3) LINE(":A", 2, "A", 1) LINE(":E", 2, "E", 1) LINE(":I", 2, "I", 1) LINE(":O", 2, "O", 1) LINE(":U", 2, "U", 1) LINE(":a", 2, "a", 1) LINE(":e", 2, "e", 1) LINE(":i", 2, "i", 1) LINE(":o", 2, "o", 1) LINE(":u", 2, "u", 1) LINE(":y", 2, "y", 1) LINE("^A", 2, "A", 1) LINE("^E", 2, "E", 1) LINE("^I", 2, "I", 1) LINE("^O", 2, "O", 1) LINE("^U", 2, "U", 1) LINE("^a", 2, "a", 1) LINE("^e", 2, "e", 1) LINE("^i", 2, "i", 1) LINE("^o", 2, "o", 1) LINE("^u", 2, "u", 1) LINE("-D", 2, "D", 1) LINE("Sd", 2, "o", 1) LINE("TP", 2, "b", 1) LINE("Tp", 2, "b", 1) LINE(",C", 2, "C", 1) LINE(",c", 2, "c", 1) LINE("/L", 2, "L", 1) LINE("/l", 2, "l", 1) LINE("/O", 2, "O", 1) LINE("/o", 2, "o", 1) LINE("oA", 2, "A", 1) LINE("oa", 2, "a", 1) LINE("a^", 2, "^", 1) LINE("ac", 2, ",", 1) LINE("ad", 2, "\"", 1) LINE("ah", 2, "v", 1) LINE("ao", 2, "o", 1) LINE("ho", 2, ",", 1) LINE("ab", 2, "`", 1) LINE("a\"", 2, "\"", 1) LINE("a-", 2, "-", 1) LINE("Cs", 2, "x", 1) LINE("Do", 2, "$", 1) LINE("Po", 2, "L", 1) LINE("Ye", 2, "Y", 1) LINE("Fn", 2, "f", 1) LINE("ct", 2, "c", 1) LINE("ff", 2, "ff", 2) LINE("fi", 2, "fi", 2) LINE("fl", 2, "fl", 2) LINE("Fi", 2, "ffi", 3) LINE("Fl", 2, "ffl", 3) LINE("r!", 2, "i", 1) LINE("r?", 2, "c", 1) LINE("dd", 2, "=", 1) LINE("dg", 2, "-", 1) LINE("ps", 2, "9|", 2) LINE("sc", 2, "S", 1) LINE("de", 2, "o", 1) LINE("tf", 2, ".:.", 3) LINE("~~", 2, "~~", 2) LINE("~=", 2, "~=", 2) LINE("=~", 2, "=~", 2) LINE("AN", 2, "^", 1) LINE("OR", 2, "v", 1) LINE("no", 2, "~", 1) LINE("fa", 2, "V", 1) LINE("te", 2, "3", 1) LINE("Ah", 2, "N", 1) LINE("Im", 2, "I", 1) LINE("Re", 2, "R", 1) LINE("mo", 2, "E", 1) LINE("nm", 2, "E", 1) LINE("eq", 2, "=", 1) LINE("pl", 2, "+", 1) LINE("di", 2, "-:-", 3) LINE("mu", 2, "x", 1) LINE("(=", 2, "(=", 2) LINE("=)", 2, "=)", 2) LINE("ap", 2, "~", 1) LINE("pd", 2, "a", 1) LINE("gr", 2, "V", 1) LINE("ca", 2, "(^)", 3) LINE("cu", 2, "U", 1) LINE("es", 2, "{}", 2) LINE("st", 2, "-)", 2)