シェルスクリプト言語xyzshのソースコード。
修订版 | 6d29217451ae5de2291d6157001213ff7b2ce705 (tree) |
---|---|
时间 | 2013-01-23 15:18:51 |
作者 | ab25q <ab25cq@gmai...> |
Commiter | ab25q |
1.3.3
@@ -123,6 +123,7 @@ normal-install: | ||
123 | 123 | $(INSTALL) -m 644 USAGE "$(docdir)" |
124 | 124 | $(INSTALL) -m 644 USAGE.ja "$(docdir)" |
125 | 125 | $(INSTALL) -m 644 README "$(docdir)" |
126 | + $(INSTALL) -m 644 README.ja "$(docdir)" | |
126 | 127 | $(INSTALL) -m 644 CHANGELOG "$(docdir)" |
127 | 128 | rm -f $(bindir)/xyzsh |
128 | 129 | if echo $(CFLAGS) | grep -q MDEBUG; then $(INSTALL) -m 755 xyzsh "$(bindir)"; else $(INSTALL) -s -m 755 xyzsh "$(bindir)"; fi; |
@@ -124,7 +124,7 @@ How to compile | ||
124 | 124 | --with-readline-dir --> indicate readline installed directory. |
125 | 125 | --with-debug --> give -g option to CFLAGS and add a checking memory leak system to xyzsh. |
126 | 126 | --with-gprof-debug --> give -pg option to CFLAGS |
127 | - --with-static --> make saphrie without dynamic linked libraries. | |
127 | + --with-static --> make xyzsh without dynamic linked libraries. | |
128 | 128 | |
129 | 129 | For Japanese options |
130 | 130 |
@@ -151,9 +151,16 @@ with OS X | ||
151 | 151 | |
152 | 152 | Used files |
153 | 153 | /usr/local/bin/xyzsh --> a program |
154 | + /usr/local/share/doc/xyzsh/USAGE --> USAGE in English | |
155 | + /usr/local/share/doc/xyzsh/USAGE.ja --> USAGE in Japanese | |
156 | + /usr/local/share/doc/xyzsh/README --> README in English | |
157 | + /usr/local/share/doc/xyzsh/README.ja --> README in Japanese | |
158 | + /usr/local/share/doc/xyzsh/CHANGELOG --> CHANGELOG in English and Japanese | |
159 | + /usr/local/share/man/man1/xyzsh.1 --> manual file | |
154 | 160 | /usr/local/etc/xyzsh/xyzsh.xyzsh --> a source setting file |
155 | 161 | /usr/local/etc/xyzsh/completion.xyzsh --> a source completion setting file |
156 | 162 | /usr/local/etc/xyzsh/help.xyzsh --> a source help setting file |
163 | + /usr/local/etc/xyzsh/read_history.xyzsh --> a source which reads command line history | |
157 | 164 | ~/.xyzsh/xyzsh.xyzsh --> a source user setting file. xyzsh read this after /usr/local/etc/xyzsh.xyzsh |
158 | 165 | ~/.xyzsh/history --> a command line history file |
159 | 166 | ~/.xyzsh/macro --> macro which is runned by typing C-x on command line uses this file |
@@ -6,6 +6,65 @@ xyzsh シェルスクリプト言語 | ||
6 | 6 | Linux, OSX, cygwin, FreeBSDで動くインタラクティブシェルです。 |
7 | 7 | Perl/Rubyライクなテキスト処理コマンドを含み、オブジェクト指向も行えます。 |
8 | 8 | ガベージコレクションも装備しています。 |
9 | + | |
10 | + サンプル | |
11 | + | |
12 | + > ls -F | |
13 | + docs/ main.c samples/ sub.c | |
14 | + | |
15 | + > ls | each ( | chomp | -d && | print ) | |
16 | + docs | |
17 | + samples | |
18 | + | |
19 | + > ls -F | grep -v / | |
20 | + main.c sub.c | |
21 | + | |
22 | + > ls | each ( ! | chomp | -d && | print ) | |
23 | + main.c sub.c | |
24 | + | |
25 | + > ls | each ( | printf "-+- %s -+-"\n ) | join " " | |
26 | + -+- docs -+- -+- main -+- -+- samples -+- -+- sub.c -+- | |
27 | + | |
28 | + > ls | each ( | scan . | join " " ) | |
29 | + d o c s | |
30 | + m a i n . c | |
31 | + s a m p l e s | |
32 | + s u b . c | |
33 | + | |
34 | + > cat data | |
35 | + Gorou Yamanaka | |
36 | + Rei Tanaka | |
37 | + Yumiko Shiratori | |
38 | + | |
39 | + > cat data | each ( | =~ Yamanaka && | print ) | |
40 | + Gorou Yamanaka | |
41 | + | |
42 | + > cat data | lines 0 1 | |
43 | + Gorou Yamanaka | |
44 | + Rei Tanaka | |
45 | + | |
46 | + > cat data | each ( | split | lines 1 0 | join ) | |
47 | + Yamanaka Gorou | |
48 | + Tanaka Rei | |
49 | + Shiratori Yumiko | |
50 | + | |
51 | + > vim student.xyzsh | |
52 | + class Student ( | |
53 | + | var first_name second_name age country | |
54 | + | |
55 | + def show ( | |
56 | + var first_name second_name age country | printf "name: %s %s?nage: %s?ncountry: %s?n" | |
57 | + ) | |
58 | + ) | |
59 | + | |
60 | + object student | |
61 | + student::run ( print "Yamanaka Gorou 23 Japan" | split | Student ) | |
62 | + | |
63 | + > load student.xyzsh | |
64 | + > student::show | |
65 | + name: Yamanaka Gorou | |
66 | + age: 23 | |
67 | + country: Japan | |
9 | 68 | |
10 | 69 | コンパイルとテストを行ったOS |
11 | 70 |
@@ -101,7 +160,7 @@ xyzsh シェルスクリプト言語 | ||
101 | 160 | |
102 | 161 | xyzshはライブラリを作成するのでライブラリが作成されたディレクトリ(通常は/usr/local/lib)を/etc/ld.so.confに追加して |
103 | 162 | 以下を実行しないといけません。/usr/local/libは標準ではライブラリの検索パスに加えてられないことが多く |
104 | - たいていの環境(Linux)ではこの作業が必要になります。 | |
163 | + 大抵の環境(Linux)ではこの作業が必要になります。 | |
105 | 164 | |
106 | 165 | sudo ldconfig |
107 | 166 |
@@ -129,9 +188,16 @@ OSXでは | ||
129 | 188 | xyzshが使用するファイル |
130 | 189 | |
131 | 190 | /usr/local/bin/xyzsh --> プログラム本体 |
191 | + /usr/local/share/doc/xyzsh/USAGE --> 使い方の英訳 | |
192 | + /usr/local/share/doc/xyzsh/USAGE.ja --> 使い方 | |
193 | + /usr/local/share/doc/xyzsh/README --> このファイルの英訳 | |
194 | + /usr/local/share/doc/xyzsh/README.ja --> このファイル | |
195 | + /usr/local/share/doc/xyzsh/CHANGELOG --> 更新情報 | |
196 | + /usr/local/share/man/man1/xyzsh.1 --> マニュアルファイル | |
132 | 197 | /usr/local/etc/xyzsh/xyzsh.xyzsh --> 設定ファイル |
133 | 198 | /usr/local/etc/xyzsh/completion.xyzsh --> 補完関係の設定ファイル |
134 | 199 | /usr/local/etc/xyzsh/help.xyzsh --> ヘルプ関連の設定ファイル |
200 | + /usr/local/etc/xyzsh/read_history.xyzsh --> コマンドラインのヒストリを読み込む設定ファイル | |
135 | 201 | ~/.xyzsh/xyzsh.xyzsh --> /usr/local/etc/xyzsh.xyzshの後に呼ばれるユーザーの設定ファイル |
136 | 202 | ~/.xyzsh/history --> コマンドライン履歴が保存されたファイル |
137 | 203 | ~/.xyzsh/macro --> コマンドラインでControl-xを押した場合に表示されるワンライナーの一覧。 |
@@ -145,7 +211,7 @@ xyzshが使用するファイル | ||
145 | 211 | |
146 | 212 | エンコードと改行コードについて |
147 | 213 | |
148 | - xyzshスクリプトはUTF-8エンコードとLF改行コードを使ってかかれなければなりません。 | |
214 | + xyzshスクリプトはUTF-8エンコードとLF改行コードを使って書かれなければなりません。 | |
149 | 215 | xyzshが扱うエンコードや改行コードにはUTF-8,EUCJP, SJIS, ByteやLF,CR,CRLFが使えます。(オプションで指定する)。 |
150 | 216 | 端末のエンコードはByteかUTF-8でなければ、なりません。 |
151 | 217 |
@@ -180,6 +246,7 @@ xyzshが使用するファイル | ||
180 | 246 | src/xyzsh/xyzsh.h --> xyzshヘッダーファイル。このファイルをインクルードして-lxyzshオプションをgccにつければ、xyzshを組み込んだプログラムも作成できます |
181 | 247 | xyzsh.xyzsh --> xyzshランタイムスクリプト |
182 | 248 | completion.xyzsh --> 補完関係のxyzshランタイムスクリプト |
249 | + help.xyzsh --> xyzshのヘルプ用のスクリプト | |
183 | 250 | src/xyzsh --> ヘッダーが含まれるディレクトリ |
184 | 251 | src/block.c --> コードを格納するblock_obj関連の実装 |
185 | 252 | src/class.c --> classオブジェクトの実装。 |