Revision | 43bdabbf46bd315c4d220fe8821888acf9647a27 (tree) |
---|---|
Time | 2019-03-06 18:23:12 |
Author | dhrname <dhrname@user...> |
Commiter | dhrname |
Add the files
@@ -0,0 +1,65 @@ | ||
1 | +/* | |
2 | + * Star - A Programing language. | |
3 | + * | |
4 | + * Copyright (C) 2019 dhrname <dhrnamesie@yahoo.co.jp> | |
5 | + */ | |
6 | + | |
7 | +#pragma once | |
8 | + | |
9 | +/*クラスの実装 | |
10 | + * | |
11 | + * 以下のサンプルコードでは、名前と乙が添数集合の元 | |
12 | + * すなわち、以下のような添数集合Λがあるとき、 | |
13 | + * Λ = {名前, 乙} | |
14 | + * 写像集合を元とするようなある集合族Aについて、 | |
15 | + * Λから集合族Aへの写像aを、クラスと考える | |
16 | + * インスタンス化は、この集合族Aから、Aの元である写像集合B(A∍B)の元を集めた集合への写像bと考える | |
17 | + * いわば、Bの選出である | |
18 | + * メソッドの呼び出しは、写像aと写像bの関数合成、すなわち、 | |
19 | + * c = a ∘ b | |
20 | + * を満たす写像cと考える(メソッドの名前集合はΛであることに注意せよ) | |
21 | + * | |
22 | + * | |
23 | + * 継承は遺伝継承である(クラスの単一継承と多重継承の両方のメリットを生かす) | |
24 | + * ここでは、二つの集合族E, Fについて、 | |
25 | + * Eを劣性集合族、Fを優性集合族とみなすとき、 | |
26 | + * サブクラスGはこの二つの集合族からメソッドを継承する | |
27 | + * メソッドのオーバライドは優性集合族を優先させて上書きする | |
28 | + * したがって、遺伝継承は、単一継承のように一つのメソッドをたどっていくと、一つのクラスにたどり着く | |
29 | + * また、数世代の遺伝継承によって、多重継承を実現する | |
30 | + * | |
31 | + * 予約語 | |
32 | + * 集合族 継承 自分 自己 自身 我 俺 私 小生 余 拙者 | |
33 | + * | |
34 | + * この予約語、あるいはこの予約語に関数適用されない束縛変数は、すべて添数とみなす | |
35 | + * 暗黙の前提として、集合族の名前はグローバル集合族の添数と考える。したがって、 | |
36 | + * グローバル集合族の像は集合族である | |
37 | + * | |
38 | + * また、選出は遺伝継承をたどっていった始祖の添数である | |
39 | + * | |
40 | + * | |
41 | + * サンプルのソースコード | |
42 | + * | |
43 | + * 「 「内容」(甲)を名前として、 | |
44 | + * 「内容」(甲)を乙 | |
45 | + * 」(インスタンス変数)を丙の集合族とする | |
46 | + * 丙と「集合族の内容」(変数)を継承した子供の集合族 | |
47 | + * 丙と子供を継承した孫という集合族 | |
48 | + * | |
49 | + * 選出された孫 | |
50 | + * 「甲は乙する」(甲) | |
51 | + * */ | |
52 | + | |
53 | +#define ST_CHAR_KEYWORDS_MAP_MAX 11 | |
54 | + | |
55 | +/*UTF8用のマップ | |
56 | + * このマップをもとに、予約語に関する文字列のパターンを照合する*/ | |
57 | +typedef struct ST_UTF8_Keywords { | |
58 | + ST_Char* map[ST_CHAR_KEYWORDS_MAP_MAX]; | |
59 | + size_t length; | |
60 | +} ST_UTF8_Keywords; | |
61 | + | |
62 | +/*ST_parseClass 関数 | |
63 | + * 引数のノードからクラスの文法を処理する*/ | |
64 | +void ST_parseClass(ST_Node); | |
65 | + |
@@ -1,6 +0,0 @@ | ||
1 | -"./../startest" | |
2 | - | |
3 | -pause | |
4 | -del "%0" | |
5 | - | |
6 | -pause |
@@ -0,0 +1 @@ | ||
1 | +私 |
@@ -0,0 +1 @@ | ||
1 | +aBa愛 |
@@ -0,0 +1 @@ | ||
1 | +愛とは、「「謎」(謎)は「謎」(謎)」(謎) |
@@ -0,0 +1 @@ | ||
1 | +愛とは、「「謎」(謎)は「謎」(謎)」(謎) |
@@ -0,0 +1 @@ | ||
1 | +愛とは、「「謎」(謎)は「謎」(謎)」(謎) |
@@ -0,0 +1,4 @@ | ||
1 | +愛とは、 | |
2 | +「 | |
3 | + 「謎」(謎)は「謎」(謎) | |
4 | +」 (謎) |
@@ -0,0 +1,4 @@ | ||
1 | +愛とは、 | |
2 | +「 | |
3 | + 「謎」(謎)は「謎」(謎) | |
4 | +」 (謎) |
@@ -0,0 +1 @@ | ||
1 | +愛とは、 「 「謎」(謎)は「謎」(謎) 」 (謎) | |
\ No newline at end of file |