# HG changeset patch # User anatofuz # Date 1541730419 -32400 # Node ID 4aa6a08b7dc9ad372b07d068b0e4a324beb98494 # Parent fc52a78953e5e5f589b212a685711370778a889d fix introduction diff -r fc52a78953e5 -r 4aa6a08b7dc9 Paper/anatofuz.pdf Binary file Paper/anatofuz.pdf has changed diff -r fc52a78953e5 -r 4aa6a08b7dc9 Paper/anatofuz.tex --- a/Paper/anatofuz.tex Fri Nov 09 11:22:14 2018 +0900 +++ b/Paper/anatofuz.tex Fri Nov 09 11:26:59 2018 +0900 @@ -75,8 +75,8 @@ この問題を解決するために現在当研究室で開発しているContinuation Based C(以下CbC)を用いて改良を行う. CbCはCよりさらにきめ細やかな記述が可能であるためスクリプト言語などのプログラミング言語の記述と親和性が高い事が推測される. 本研究はCbCをスクリプト言語の実装に適応した場合,どのような利点やプログラミング上の問題点に遭遇するかCbCの応用としての側面でも行う. -本稿ではまずCbC,Perl6の特徴及び現在の実装について述べ,次に改良を行うMoarVMの一連の処理流れについて述べる. -そして今回改良した一部分と今後の展開について記す. +本稿ではまずCbC,Perl6の特徴及び現在の実装について述べ,本研究で行ったCbCで書き換えたMoarVMについてデバッグ手法も含め解説する. +そして本研究で得られたCbCを言語処理系に適応した場合の利点と欠点について述べ,今後の展望について記載する. \section{CbC} \subsection{CbCの概要} @@ -219,7 +219,7 @@ 従ってyaccやlexと言ったPerl5の文字解析,構文解析に利用していたプログラムは利用せず,NQP側で構文定義などを行っている. NQPはNQP自身でBootstrappingされている為,Rakudo Perl6のbuild時にはNQPの実行環境として要したVM,それに基づいてbuildしたNQPがそれぞれ必要となる. -言語的な特徴としてはPerl5とは違いアトミックに演算を行う事が可能な絵文字で実装されたatom演算子や,すべてがオブジェクトであるオブジェクト指向言語としての進化も見られる. +言語的な特徴としては独自にPerl6の文法を拡張可能なGrammer,Perl5と比較した場合のオブジェクト指向言語としての進化も見られる. またPerl6は漸進的型付け言語である. 従来のPerlの様に変数に代入する対象の型や文脈に応じて型を変更する動的型言語としての側面を持ちつつ独自に定義した型を始めとする様々な型に静的に変数の型を設定する事が可能である.