2018年9月15日土曜日

Haskell版2003lkインタプリタ エラーメッセージ翻訳ログ

CommonIO.hs:20: putStrLn' English $ NormalMessage $ "\nparsing " ++ filepath ++ ":\n"
(これよくわかんない)

Execute.hs:64:  then runtimeError $ "f5 register was not preserved after the call. It should be in " ++ show initialF5 ++ " but is actually in " ++ show a
>"Firjalen f5 veles furnkieo fasta fenxeil. Mole la lex es " ++ show initialF5 ++ " pelx la lex es" ++ show a ++ " fal cirla"

Execute.hs:276:   Nothing -> runtimeError $ "Undefined label `" ++ unLabel label ++ "`"
>"Firsykaloa l'es `" ++ unLabel label ++ "` es snojanerfe."

Execute.hs:276:  Nothing -> runtimeError $ "Undefined label `" ++ unLabel label ++ "`"
>(上のと同じなんだけど)

Execute.hs:309:   | otherwise -> runtimeError $ "nx has an invalid address " ++ show currentNX
>"nx laxn dirjasanasch setival zu es " ++ show currentNX

Linker.hs:23: Left _ -> Left $ LinkError "multiple files lack `kue`"
>"Chertifess mol niv mels `kue`"
(心配)

Linker.hs:25:  Nothing -> Left $ LinkError "all files have `kue`"
>"Als chertif laxn `kue`"
(kueの動作が良く分からない)

Linker.hs:37:   "conflict: different files export the same label(s) `" ++ intercalate ", " (map unLabel labels) ++ "“"
>"Sliejseso: cuturlo eustira'd chertifess feat daliu'd firsykaloa `" ++ intercalate ", " (map unLabel labels) ++ "“"
(心配、コロンは"es", "is"で読む場合もあるということ、初学者とかに書かないとなあ。)

Linker.hs:45-46:    "conflict: cannot import label(s) `" ++ intercalate ", " (map unLabel xokConflicts) ++   "` that is already defined in the file"
>"Sliejseso: elx mouteo niv cene firsykaloa `" ++ intercalate ", " (map unLabel xokConflicts) ++   "` La lex veles snojo xelvinj fal chertifestan."
(まあ、あってるやろ)

Linker.hs:50-51:   "cannot export label(s) `" ++ intercalate ", " (map unLabel kueWithoutEvidence) ++  "` that is not defined in the file"
>"Cene niv cuturl firsykaloa `" ++ intercalate ", " (map unLabel kueWithoutEvidence) ++  "` La lex niv veles snojo fal chertifestan."
(定義されてないラベル奴~~~~)

Messages.hs:16: show' English (LinkError str) = "LinkError: " ++ str
>"Nixo melsrolfeno: " ++ str

Messages.hs:19: show' English (ParseError str) = "ParseError: " ++ str
>"Nixo kakitercenust: " ++ str

Messages.hs:22: show' English (RuntimeError str str2) = "RuntimeError: " ++ str ++ str2
>"Nixo ingglimj: " ++ str ++ str2

Parse.hs:72:beautify [_,"+"] = left "Unexpected + at the end of input"
>"Delriunerfe + mol fal enerlen leijubackerstan"

Parse.hs:73:beautify ("+":_) = left "Unexpected + at the beginning of input"
>"Delriunerfe + fal enerlen fassleijustan"

Parse.hs:74:beautify ("@":_) = left "Unexpected @ at the beginning of input"
>"Delriunerfe @ fal enerlen fassleijustan"

Parse.hs:87:normalize [(Nothing,_)] = left "l' must be preceded by an instruction"
>"Deliu l' mol pesta cersva'd uies"

Parse.hs:148:  [] -> lift $ left "nll must be followed by an instruction"
>"Deliu nll mol fasta cersva'd uies"

Parse.hs:152:  ((Nothing,_):_) -> lift $ left "nll must not be followed by l'"
Parse.hs:163:toI xs = lift $ left $ "Unparsable command sequence " ++ show xs
>"Kakitercenustusykinerfe xlaiso'd leiju zu " ++ show xs ++ " mol"

Parse.hs:167: Nothing -> lift $ left $ "`" ++ x ++ "` cannot be used as a valid label"
>"Cene niv lus `" ++ x ++ "` cixj suiten firsykaloa"

Parse.hs:177: parseRegister str = left $ "there is no register named `" ++ str ++ "`"
>"Miv mol firjalen ferlke's zu es `" ++ str ++ "`"

Parse.hs:185:  | otherwise = left $ "cannot parse `" ++ str ++ "` as a valid data"
>"Cene niv es kakitercenust'i mels `" ++ xs ++ "` cixj suiten acirlan."
(エラー内容がよくわかんない)

Parse.hs:206:parseL xs = left $ "cannot parse `" ++ xs ++ "` as a valid place to put data"
>"Cene niv es kakitercenust'i mels `" ++ xs ++ "` cixj suitenal enerle'l."
(エラー内容がよくわかんない)

TentativeLoad.hs:29:    Left $ LinkError "size limit of a single file was exceeded"
>"panqa'd chertifen xerfo es sach'arrefoien fai jurkenel'd snojostan"

TentativeLoad.hs:32:  Left labels -> Left $ LinkError $ "duplicating local label(s): " ++ intercalate ", " (map unLabel labels)
>"local firsykaloa'st sliejseso: " ++ intercalate ", " (map unLabel labels)

2018年9月11日火曜日

【空想言語読本#1】周防 勇斗とスルト

 百錬の覇王と誓約の戦乙女(最初は「せんおとめ」と読んでしまった。ファンに撲殺されるポイント+1である。)を見始めたのは、PVを見て「言葉が通じないこの世界で」と言っていたのを見たからであった。本編を見始めると最初から日本語で進行していたので普通だなという感想を得るなどした。
 元より北欧神話に興味がなかった自分がこのアニメを見続けていたのは惰性的なものがあるが、ヒットマンに銃撃され何度も殺害される団長(遺族に配慮し実名の表記は避けさせていただく)の影響も大きい。そんなことはどうでもよく、時々出てくる北欧神話用語の語源を調べるのが癖になったということもあるが。

 原作は読んでいないのでこれがアニオリなのかどうかも断定できないが今回の空想言語読本(勝手に作るな)では本作アニメの九話に出てきたことに関して愚考することにする。

 アニメ九話では異世界に向かった主人公 周防 勇斗が異世界から帰ることを待つ幼馴染 志百家 美月が友達の姉(考古学者)に異世界に行った主人公に関して相談することが前半の内容であった。この相談のうちに金髪考古学者ネキ(勝手に命名するな)はその世界と北欧神話との関係性を示唆する。彼女が言う周防 勇斗(すおう ゆうと)が訛ってスルトという名前になったという発言に疑問を抱いた。
 北欧神話のスルトのスペルはsurtrらしい(en.wp, fervo他色々参照)。/su.ou.yu:.to/が、surtrになるにはそもそも/y/が/t/になる必要がある。無理があろうと思われますと思ったが、ここで思い出したのは北ドラヴィダ語族の[j] -> [d]の変化であった。フォロワーから、「なんか琉球方面でも同様のを見た気がする」「あとは上古音→中古音で 「Baxter-Sagard *l- > 隋拼j /j/」vs.「Baxter-Sagard *lˤ- > 隋拼 d /d/」とかいうのもあったりする」「中古漢語 [j] > 中古越南語 [ð]」という情報も得た。しかしまあ、それにしてもエッダの世界の言語にそんな音韻法則が起こるのかは至極謎である。

スルトについてen.wpには「Surtr is mentioned twice in the poem Völuspá, where a völva divulges information to the god Odin.」と書いてある(divulgeってなんやねん)。このVöluspáという詩が書かれているのは古ノルド語らしい。en.wpはスルト自体の語義を"black" or "the swarthy one"と書いていて(クリシュナか何かかよ)、このswartやらschwartzやらゲルマン語の同根には*swartazというのがあって、surtrはそれの同根語らしい。いや、それにしても語尾のrは何処から生えたんやと思ったら、どうやらsvartr(黒い)という形容詞があって、この-rというのは古ノルド語では強変化する形容詞の男性単数主格形らしい。古ノルド語の男性a強変化というのは単数主格が-rらしいので、Surtrでもそのままrが残ったのだろう。どうやら、これの-rはゲルマン祖語の名詞語尾-azがロータシズムで北ゲルマン語群でrになったものらしい。
 ということで、語尾にrが付いているのは付いたり付かなかったりするから良いとして、問題は音韻変化。神話の話であるので、適当にユグドラシルで話されていたのはゲルマン祖語とでもしておこう。(以下en.wp Old Norse参照)suou.yu:.toとするとして、uouなどという母音連続はまず無理で崩れるだろう。PGmcにまずuouなどという母音連続は無いためその時点でauかeuに崩れるだろう。いずれも古ノルド語時点では無変化。(追記:/uou/は[uo:]だろ、それにしても[o:]はそのままだけどな。)[j]が[d]になる音韻変化はどう探してもない。[j]が摩擦化すらしてない。ここから考えると、「すおうゆうと」が音韻変化でSurtrになったというのは無理があるだろう。

 私が提唱したいのは金髪考古学者ネキの「訛って」は比較言語学的な意味ではなくて、借用する過程の中で同じような単語が出てきたということではないだろうかということだ。「すおうゆうと」を借用しようとしたが、そのままでは意味が分からないからPGmc *swartazに由来するSurtrで借用したということなのだろう。jokeを「冗句」という当て字に採用するようなことである。(頭を使わずひたすら適当に書いた愚考文、以上)

《参考文献》
http://user.keio.ac.jp/~rhotta/hellog/cat_rhotacism.html
https://en.wikipedia.org/wiki/Old_Norse
https://en.wiktionary.org/wiki/svartr#Old_Norse
https://en.wikipedia.org/wiki/Surtr
The Dravidian languages, Bharidriraju KRISHNAMURTI (2003)