comparison slides/2018/09/11/slide.md @ 50:ccfc78c23c66

auto-Update generated slides by script
author Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Tue, 18 Sep 2018 20:20:07 +0900
parents
children
comparison
equal deleted inserted replaced
49:49a9086fc7e9 50:ccfc78c23c66
1 title: CbCによるMoarVMの改良
2 author: Takahiro Shimizu
3 profile:
4 lang: Japanese
5
6
7 # 研究目的
8 - Perl5の後継言語として開発されているPerl6はMoarVMと呼ばれるVMを搭載している.
9 - Perl6はMoarVM,JVM,JavaScript上で動くRakudoと呼ばれる実装と,コンパイラ開発者用のサブセットであるNQPが主な実装となっている.
10 - 現在Perl6及びMoarVMは全体的な速度がPerl5と比較し低下しており,実務として利用できるレベルに達していない.
11 - さらにPerl6の実装自体巨大なcase-switch文など見通しが悪くなっている.
12 - この問題を解決するために現在当研究室で開発している継続を中心にしたContinuation based Cを用いて改良を行う
13 - CbCの設計理念からVMの実装と親和性が高い事も推測できる為,実際にCbCを用いてどのようにVMが実装できるかを検証する
14
15 # 今週の進捗
16 * 先週は帰省していました
17 * 院試合格しました
18 * ミニマムなCコンパイラの実装していました
19 * 構文解析は終わりました
20
21 # 懐かしのコーナー
22 * Perl1.0
23 * Perl2.0
24 * Perl3.0は動かしました
25 * Perl4はあと一歩です
26
27 ```
28 perl.c:53:21: error: expected declaration specifiers or '...' before ',' token
29 char *index(), *strcpy(), *getenv();
30 ^~~~~~
31 perl.c:53:21: error: expected declaration specifiers or '...' before ',' token
32 char *index(), *strcpy(), *getenv();
33 ^~~~~~
34 In file included from /usr/include/secure/_stdio.h:31:0,
35 from /Users/anatofuz/workspace/cr/build_gcc/lib/gcc/x86_64-apple-darwin17.5.0/8.0.0/include-fixed/stdio.h:425,
36 from perl.h:77,
37 from perl.c:15:
38 perl.c:53:21: error: expected declaration specifiers or '...' before '__builtin_object_size'
39 char *index(), *strcpy(), *getenv();
40 ^~~~~~
41 perl.c:69:19: error: 'environ' undeclared (first use in this function); did you mean 'envix'?
42 origenviron = environ;
43 ^~~~~~~
44 ```
45
46 # Perl4
47
48 * エンディアンとbit数を設定する変数が設定されてなかったので設定
49 * Makefileに `<built-in>`などの余計な行があったので削除
50 * Perl内部で設定されていた関数名とCの関数が被っていたのでPerlの関数名を修正