SU/CAR-ST-APi-cells

悪を告発する真面目で時におバカな独り言ブログ

自作DSLで株シストレ
Esgrsdnl

ある詐欺グループとの戦い
Sort Uniq / C Awk R Sed Tcl/Tk
Shell Unix (percentile) Compile Assembly Run
Stock Trading APi cells
ローマは一日にしてならず R,C

53歳限界プログラマの憂鬱
mix of AB


にほんブログ村 株ブログ 株 自動売買へ
にほんブログ村 株ブログ 株 デイトレードへ
にほんブログ村 先物取引ブログ 日経225先物へ

来訪ありがとうございます
←クリックいただくと励みになります
(先物でも詐欺業者見つけたので)
このブログのコメントについて

2019/4~
運用資金250万
カラクリあり

怪しいブログwatch

怪しいブログに動きがありました 

ミッションは2019/4/7午前0時に発動しました
2021/1/31にすべてのサクラブログが消えましたが
なーなさんが・・・w
新たに「 株運用」という業者が同じシステムでセミナーしてます
マサユキくんはバーチャルトレーダーです
ドログバさんもバーチャルトレーダーです
かぶさん引っ越しkabuさんになりました
美咲さんもバーチャルトレーダーです
kabuさんもバーチャルトレーダーです
株式市場(システムに改名)という業者が詐欺である証拠

↑グラフ書き換えてきました
  業者名もシステムに変えてきました

個別株に加えてFX・日経先物の業者もありますね 闇深すぎorz

kabuさん引っ越しkabulifeさんになりました

10分で独自言語(インタプリタ)を作る(真面目なおバカ記事)

にほんブログ村 株ブログ 株 自動売買へ

興味ない方はスルーで・・・

あるプログラムのサンプルソース

tc.txt

整数 i
実数 d,dd,d2
出力("H W!\n")
繰返 (i=0;i<25;i++){
	d=正弦(3.14159/180*i)
	dd=余弦(3.14159/180*i)
	d2=平方根(i)
	出力("%d deg:sin->:%f :cos->:%f :sqrt->:%f\n",i*5,d,dd,d2)
}

プログラムわからない人でも何となくわかるんじゃないでしょうか?

何しろキーワード日本語ですし・・・

でもこんなプログラム言語は世の中に存在しません・・・

なら、自分で作ってしまいましょう

10分で作れます

nchl というインタプリタ(自作)

$ ls -l ./nchl
-rwxr-xr-x 1 xxxxx なし 318 12月 18 16:33 ./nchl

僅か 318byte です!

では、実行してみましょう

$ ./nchl ./tc.txt
H W!
0 deg:sin->:0.000000 :cos->:1.000000 :sqrt->:0.000000
5 deg:sin->:0.017452 :cos->:0.999848 :sqrt->:1.000000
10 deg:sin->:0.034899 :cos->:0.999391 :sqrt->:1.414214
15 deg:sin->:0.052336 :cos->:0.998630 :sqrt->:1.732051
20 deg:sin->:0.069756 :cos->:0.997564 :sqrt->:2.000000
25 deg:sin->:0.087156 :cos->:0.996195 :sqrt->:2.236068
30 deg:sin->:0.104528 :cos->:0.994522 :sqrt->:2.449490
35 deg:sin->:0.121869 :cos->:0.992546 :sqrt->:2.645751
40 deg:sin->:0.139173 :cos->:0.990268 :sqrt->:2.828427
45 deg:sin->:0.156434 :cos->:0.987688 :sqrt->:3.000000
50 deg:sin->:0.173648 :cos->:0.984808 :sqrt->:3.162278
55 deg:sin->:0.190809 :cos->:0.981627 :sqrt->:3.316625
60 deg:sin->:0.207912 :cos->:0.978148 :sqrt->:3.464102
65 deg:sin->:0.224951 :cos->:0.974370 :sqrt->:3.605551
70 deg:sin->:0.241922 :cos->:0.970296 :sqrt->:3.741657
75 deg:sin->:0.258819 :cos->:0.965926 :sqrt->:3.872983
80 deg:sin->:0.275637 :cos->:0.961262 :sqrt->:4.000000
85 deg:sin->:0.292371 :cos->:0.956305 :sqrt->:4.123106
90 deg:sin->:0.309017 :cos->:0.951057 :sqrt->:4.242641
95 deg:sin->:0.325568 :cos->:0.945519 :sqrt->:4.358899
100 deg:sin->:0.342020 :cos->:0.939693 :sqrt->:4.472136
105 deg:sin->:0.358368 :cos->:0.933581 :sqrt->:4.582576
110 deg:sin->:0.374606 :cos->:0.927184 :sqrt->:4.690416
115 deg:sin->:0.390731 :cos->:0.920505 :sqrt->:4.795832
120 deg:sin->:0.406736 :cos->:0.913546 :sqrt->:4.898979

 無事に実行できました

三角関数もきちんと計算できてます

凄いですね! 僅か318byteでここまでできます

種明かしです

nchl はシェルスクリプトなんで、中身を見てみましょう

#!/bin/bash
cat $1 |sed -e 's/出力/printf/g;s/整数/int/g;s/繰返/for/g;s/実数/double/g;s/正弦/sin/g;s/余弦/cos/g;s/平方根/sqrt/g;s/$/;/g' >./tmp.inc
cat << EOF >tmp.c
#include <stdio.h>
#include <math.h>
int main(void) { 
#include "tmp.inc"
}
EOF
gcc ./tmp.c
./a
rm ./a.exe ./tmp.c ./tmp.inc

要は、C言語のテンプレートを用意しといて、sedで日本語独自キーワードをC言語のキーワードに置換したものをぶち込んで、gccコンパイルして、実行してるだけです

シストレの自作システムはもう少し複雑(awk m4も使用)ですが、基本は同じです

 なんちゃって独自言語自作は楽しいです

 

f:id:sucar:20150414192227p:plain

CとRでス・パ・カー・エス・ティー
高級アセンブラC言語と統計分析R言語を
駆使して生まれたその名は、ス・パ・カー・エス・ティー!

f:id:sucar:20150414193802p:plain