Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Yoshitaka Seo
3,066 views
Rpn and forth 超入門
Rpn and forth 超入門 技術ひろば.net 2010年7月勉強会 セッション資料 2010年7月10日開催
Technology
◦
Education
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Downloaded 18 times
1
/ 25
2
/ 25
3
/ 25
4
/ 25
5
/ 25
6
/ 25
7
/ 25
8
/ 25
9
/ 25
10
/ 25
11
/ 25
12
/ 25
13
/ 25
14
/ 25
15
/ 25
16
/ 25
17
/ 25
18
/ 25
19
/ 25
20
/ 25
21
/ 25
22
/ 25
23
/ 25
24
/ 25
25
/ 25
More Related Content
PDF
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
by
Ken'ichi Matsui
PDF
例外設計における大罪
by
Takuto Wada
PDF
線形代数の視覚的理解のためのノート
by
Kenji Hiranabe
PDF
Popcntによるハミング距離計算
by
Norishige Fukushima
PPTX
DockerコンテナでGitを使う
by
Kazuhiro Suga
ZIP
今さら聞けないカーネル法とサポートベクターマシン
by
Shinya Shimizu
PDF
Dockerfile を書くためのベストプラクティス解説編
by
Masahito Zembutsu
PDF
中3女子でもわかる constexpr
by
Genya Murakami
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
by
Ken'ichi Matsui
例外設計における大罪
by
Takuto Wada
線形代数の視覚的理解のためのノート
by
Kenji Hiranabe
Popcntによるハミング距離計算
by
Norishige Fukushima
DockerコンテナでGitを使う
by
Kazuhiro Suga
今さら聞けないカーネル法とサポートベクターマシン
by
Shinya Shimizu
Dockerfile を書くためのベストプラクティス解説編
by
Masahito Zembutsu
中3女子でもわかる constexpr
by
Genya Murakami
What's hot
PPTX
SIMDで整数除算
by
shobomaru
PDF
すごい constexpr たのしくレイトレ!
by
Genya Murakami
PDF
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
by
Takuto Wada
PDF
機械学習と主成分分析
by
Katsuhiro Morishita
PDF
技術者が知るべき Gröbner 基底
by
Hiromi Ishii
PDF
ゲーム開発者のための C++11/C++14
by
Ryo Suzuki
PDF
オブジェクト指向できていますか?
by
Moriharu Ohzu
PDF
スペクトラルグラフ理論入門
by
irrrrr
PPTX
ラベル付けのいろは
by
Kensuke Mitsuzawa
PDF
z変換をやさしく教えて下さい (音響学入門ペディア)
by
Shinnosuke Takamichi
PDF
プログラミングコンテストでの動的計画法
by
Takuya Akiba
PDF
ベルヌーイ分布からベータ分布までを関係づける
by
itoyan110
PDF
Dockerfileを改善するためのBest Practice 2019年版
by
Masahito Zembutsu
PPTX
冬のLock free祭り safe
by
Kumazaki Hiroki
PDF
機械学習モデルのハイパパラメータ最適化
by
gree_tech
PDF
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
by
Preferred Networks
KEY
やはりお前らのMVCは間違っている
by
Koichi Tanaka
PDF
明日使えないすごいビット演算
by
京大 マイコンクラブ
PPTX
【DL輪読会】マルチモーダル 基盤モデル
by
Deep Learning JP
PDF
大規模グラフアルゴリズムの最先端
by
Takuya Akiba
SIMDで整数除算
by
shobomaru
すごい constexpr たのしくレイトレ!
by
Genya Murakami
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
by
Takuto Wada
機械学習と主成分分析
by
Katsuhiro Morishita
技術者が知るべき Gröbner 基底
by
Hiromi Ishii
ゲーム開発者のための C++11/C++14
by
Ryo Suzuki
オブジェクト指向できていますか?
by
Moriharu Ohzu
スペクトラルグラフ理論入門
by
irrrrr
ラベル付けのいろは
by
Kensuke Mitsuzawa
z変換をやさしく教えて下さい (音響学入門ペディア)
by
Shinnosuke Takamichi
プログラミングコンテストでの動的計画法
by
Takuya Akiba
ベルヌーイ分布からベータ分布までを関係づける
by
itoyan110
Dockerfileを改善するためのBest Practice 2019年版
by
Masahito Zembutsu
冬のLock free祭り safe
by
Kumazaki Hiroki
機械学習モデルのハイパパラメータ最適化
by
gree_tech
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
by
Preferred Networks
やはりお前らのMVCは間違っている
by
Koichi Tanaka
明日使えないすごいビット演算
by
京大 マイコンクラブ
【DL輪読会】マルチモーダル 基盤モデル
by
Deep Learning JP
大規模グラフアルゴリズムの最先端
by
Takuya Akiba
Similar to Rpn and forth 超入門
PPTX
関数型言語&形式的手法セミナー(3)
by
啓 小笠原
PDF
F#入門 ~関数プログラミングとは何か~
by
Nobuhisa Koizumi
PDF
関数プログラミング入門
by
Hideyuki Tanaka
PDF
これからの「言語」の話をしよう ―― 未来を生きるためのツール
by
Nobuhisa Koizumi
PDF
Processing
by
Akifumi Nambu
PDF
Ssaw08 0916
by
Atsushi Tadokoro
PDF
たのしい関数型
by
Shinichi Kozake
PPTX
純粋関数型アルゴリズム入門
by
Kimikazu Kato
PDF
関数型プログラミング入門 with OCaml
by
Haruka Oikawa
PDF
関数型都市忘年会『はじめての函数型プログラミング』
by
Kenta USAMI
PPTX
F#のコンピュテーション式
by
pocketberserker
PDF
Yaminabe fortran
by
HPCシステムズ株式会社
PPT
計算機理論入門02
by
Tomoyuki Tarumi
PDF
#6:実数と繰り返し
by
長岡技術科学大学 自然言語処理研究室
PDF
Processing によるプログラミング入門 第1回
by
Ryo Suzuki
PDF
Ruby4章後半(演算子)
by
Hiroshi Isimaru
PPTX
プログラミング技法特論第5回
by
guest61bed5f
PPTX
プログラミング技法特論第5回
by
guest61bed5f
PDF
Scalaプログラミング・マニアックス
by
Tomoharu ASAMI
KEY
Clojure programming-chapter-2
by
Masao Kato
関数型言語&形式的手法セミナー(3)
by
啓 小笠原
F#入門 ~関数プログラミングとは何か~
by
Nobuhisa Koizumi
関数プログラミング入門
by
Hideyuki Tanaka
これからの「言語」の話をしよう ―― 未来を生きるためのツール
by
Nobuhisa Koizumi
Processing
by
Akifumi Nambu
Ssaw08 0916
by
Atsushi Tadokoro
たのしい関数型
by
Shinichi Kozake
純粋関数型アルゴリズム入門
by
Kimikazu Kato
関数型プログラミング入門 with OCaml
by
Haruka Oikawa
関数型都市忘年会『はじめての函数型プログラミング』
by
Kenta USAMI
F#のコンピュテーション式
by
pocketberserker
Yaminabe fortran
by
HPCシステムズ株式会社
計算機理論入門02
by
Tomoyuki Tarumi
#6:実数と繰り返し
by
長岡技術科学大学 自然言語処理研究室
Processing によるプログラミング入門 第1回
by
Ryo Suzuki
Ruby4章後半(演算子)
by
Hiroshi Isimaru
プログラミング技法特論第5回
by
guest61bed5f
プログラミング技法特論第5回
by
guest61bed5f
Scalaプログラミング・マニアックス
by
Tomoharu ASAMI
Clojure programming-chapter-2
by
Masao Kato
More from Yoshitaka Seo
PDF
言語系サービスの統合ポータル Language Studio で Microsoft AI を再確認
by
Yoshitaka Seo
PDF
Arduino で組み込み開発 - 京都TECH オープンキャンパス2021
by
Yoshitaka Seo
PDF
AI-900 ポイント解説
by
Yoshitaka Seo
PDF
AI プログラミング - OCA / 京都TECH オープンキャンパス 2021
by
Yoshitaka Seo
PDF
AIの見方、AIとの付き合い方
by
Yoshitaka Seo
PDF
Custom Visionで仏像を画像分類
by
Yoshitaka Seo
PDF
誰もが AI を使う時代、作る時代
by
Yoshitaka Seo
PDF
Azure IoT Edge で Custom Vision
by
Yoshitaka Seo
PDF
API ペタペタしただけのお手軽 感情分析アプリ
by
Yoshitaka Seo
PDF
Machine Learning studio で構造化データから予測分析 (LT版)
by
Yoshitaka Seo
PDF
BIerのためのAI入門
by
Yoshitaka Seo
PDF
構造化データをツールで簡単に分析
by
Yoshitaka Seo
PDF
チャットボットの自然言語処理
by
Yoshitaka Seo
PDF
Custom Visionを活用するためのTips
by
Yoshitaka Seo
PDF
Machine Learning Serviceを使ってみよう
by
Yoshitaka Seo
PDF
Bot Framework Emulator はこんなにすごい
by
Yoshitaka Seo
PDF
VS Code Tools for AI の紹介
by
Yoshitaka Seo
PDF
Bot Builder V4 SDK + QnA Maker / LUIS
by
Yoshitaka Seo
PDF
QnA Maker 逆入門
by
Yoshitaka Seo
PDF
PowerApps アプリ開発入門
by
Yoshitaka Seo
言語系サービスの統合ポータル Language Studio で Microsoft AI を再確認
by
Yoshitaka Seo
Arduino で組み込み開発 - 京都TECH オープンキャンパス2021
by
Yoshitaka Seo
AI-900 ポイント解説
by
Yoshitaka Seo
AI プログラミング - OCA / 京都TECH オープンキャンパス 2021
by
Yoshitaka Seo
AIの見方、AIとの付き合い方
by
Yoshitaka Seo
Custom Visionで仏像を画像分類
by
Yoshitaka Seo
誰もが AI を使う時代、作る時代
by
Yoshitaka Seo
Azure IoT Edge で Custom Vision
by
Yoshitaka Seo
API ペタペタしただけのお手軽 感情分析アプリ
by
Yoshitaka Seo
Machine Learning studio で構造化データから予測分析 (LT版)
by
Yoshitaka Seo
BIerのためのAI入門
by
Yoshitaka Seo
構造化データをツールで簡単に分析
by
Yoshitaka Seo
チャットボットの自然言語処理
by
Yoshitaka Seo
Custom Visionを活用するためのTips
by
Yoshitaka Seo
Machine Learning Serviceを使ってみよう
by
Yoshitaka Seo
Bot Framework Emulator はこんなにすごい
by
Yoshitaka Seo
VS Code Tools for AI の紹介
by
Yoshitaka Seo
Bot Builder V4 SDK + QnA Maker / LUIS
by
Yoshitaka Seo
QnA Maker 逆入門
by
Yoshitaka Seo
PowerApps アプリ開発入門
by
Yoshitaka Seo
Rpn and forth 超入門
1.
瀬尾佳隆 (y.seo@seosoft.jp) Microsoft
MVP for Visual C# 技術ひろば.net 2010年7月 1
2.
瀬尾 佳隆 (せお よしたか) ◦ MVP for Visual C# (Jan 2009 – Dec 2010) ◦ 実は Forth 系の言語が大好き! ◦ メールは y.seo@seosoft.jp / Twitterは @seosoft ◦ 個人事業主です(屋号は瀬尾ソフト) ◦ 根っからの開発屋 インフラ苦手です ◦ どうでもいい情報としては、ミュージカルが大好きです 2
3.
真面目に聞いていただくセッションではありません ◦ 「何か身につく」とか「仕事に役に立つ」とか期待しては いけません でも、普段とは違う「物の見方」を通して視野を広げる参考になれば 多分途中で時間切れになります ◦ (意図的に)ページ数多すぎ そもそも30分でやるようなネタじゃないし w ◦ ついうっかり興味を持ってしまった方は資料をダウンロード して読んでください 3
4.
明日の仕事に全く役立たない技術でも 「楽しければいいじゃん!」ということを理解 (または同情)していただくこと 普段とは違う考え方を通して脳のストレッチをして いただくこと ついうっかり興味を持つ人が一人でも二人でも 出てくることを密かに期待すること 4
5.
RPN ◦ RPNとは ◦ RPNの具体例 ◦ 計算機内部の動き ◦ RPNの言語的特徴 Forth ◦ Forthとは ◦ Forthの基本的な文法 ◦ (デモ) 5
6.
逆ポーランド記法
6
7.
RPN = Reverse Polish Notation ◦ 逆ポーランド記法 演算子をオペランドの後ろに記述する方法 ◦ 後置記法とも言う ◦ 皆さんお馴染みなのは中間記法 HP電卓ではRPNで計算します ◦ HP-15Cなんて名機も 7
8.
中置記法
RPN 1+2 1 2 + (1 + 2) * (3 + 4) 1 2 + 3 4 + * 8.33 4 5.2 - * 8.33 7.46 - 8.33 ∗ 4 − 5.2 ÷ 8.33 − 7.46 ∗ 0.32 / 0.32 * 4.3 3.15 2.75 - 4.3 ∗ 3.15 − 2.75 − (1.71 ∗ 2.01) * 1.71 2.01 * - / • 頭から順番に計算できる • 括弧がいらない • 複雑な式でも1行で表現できる 8
9.
20 4 / の場合・・・20 / 4 Starting Forth http://www.forth.com/starting-forth/sf2/sf2.html 9
10.
20 4 / の場合・・・20 / 4 Starting Forth http://www.forth.com/starting-forth/sf2/sf2.html 10
11.
3 9 + 4 6 + * の場合・・・(3 + 9) * (4 + 6) Starting Forth http://www.forth.com/starting-forth/sf2/sf2.html 11
12.
3 9 + 4 6 + * の場合・・・(3 + 9) * (4 + 6) Starting Forth http://www.forth.com/starting-forth/sf2/sf2.html 12
13.
問題: 太郎君は鉛筆を1本、花子さんは鉛筆を2本持っています。 あわせて何本でしょうか。
中間記法 1+2 順番が・・・ 鉛筆1本 鉛筆2本 あわせて何本 RPN 1 2 + あら、キレイ 13
14.
問題: 太郎君は鉛筆を1本、花子さんは鉛筆を2本持っています。 あわせて何本でしょうか。 中間記法
RPN 1+2 1 2 + 1 足す 2 1と2を足す 日本語に似ている! 14
15.
RPNに基づくプログラミング言語
15
16.
RPNとデータスタック使用の考え方に基づいた プログラミング言語 言語仕様が非常に簡単 ◦ ワード(トークン)を辞書中で検索 ◦ 辞書中に見つかったら関連づけられたコードを実行 ◦ 見つからなかったら “数” と見なしてスタックに積む Forth プログラムは「ワードの並び」 ◦ Forth ではすべてがワードであり、演算子、制御構造、 組み込みの手続き、ユーザー定義の手続きの区別がない ◦ ワードが順番に並んでいるだけで、構文解析が不要 16
17.
スタック操作
処理 . スタックの1番目を取り出してコンソール出力 .s スタックの内容表示(値を取り出さない) clearstack スタックのクリア drop スタックの1番目を捨てる dup スタックの1番目を複製して上に積む over スタックの2番目を複製して上に積む swap スタックの1番目と2番目とを交換する rot スタックの3番目を取り出して上に積む nip swap drop と同じ tuck swap over と同じ 2drop drop drop と同じ 2swap 1番目/2番目の組と3番目/4番目の組とを交換する 17
18.
四則演算 ◦ + - * / mod ・・・想像通り 文字列 ◦ .s” 文字列” ・・・ .s” のあとに半角スペースが必要 ワード定義 ◦ : <ワード名> <コード> ; コロンで始まりセミコロンで終わる 制御構造 ◦ <条件> if <処理> else <処理> then ・・・if文 ◦ <終値> <初期値> ?do <処理> loop ・・・for文 ◦ begin <処理> <終了条件> until ・・・while文 18
19.
変数 ◦ variable <変数名> ・・・定義 ◦ <変数名> ! ・・・代入 ◦ <変数名> @ ・・・参照 浮動小数 ◦ f+, f-, f*, f/ など ・・・頭に f を付ける必要がある ◦ d>f, f>d ・・・小数化、整数化 19
20.
時間があれば・・・ 20
21.
今日のまとめと参考情報
21
22.
RPN ◦ 演算子をオペランドの後ろに記述する ◦ 頭から順番に計算していくことができる ◦ 日本語の文法に近いので日本人には実は案外理解しやすい 言語(かも?) Forth ◦ RPNとデータスタックを使ったプログラミング言語 ◦ 言語仕様が非常に簡単 ◦ Forth プログラムは「ワードの並び」 22
23.
HP-35s が今なら5000円くらいで買えるかも ◦ Amazonあたりで検索してください Windows上で動作する HP-15Cのエミュレータが あります ◦ http://www.thgsoft.ch/ThGHome_EN.html#HP15c 23
24.
Gforth ◦ ANS Forthの実装 ◦ http://sourceforge.jp/projects/freshmeat_gforth/ Starting FORTH ◦ http://www.forth.com/starting-forth/ Thinking FORTH ◦ http://thinking-forth.sourceforge.net/ 日本語プログラミング言語Mind ◦ http://www.scripts-lab.co.jp/mind/whatsmind.html ◦ 実は私にとっての Forth とは Mind のこと .NET用のForthコンパイラもあります ◦ DeltaForth / Forth in the .Net 3.5 Framework (ForthAPI) 24
25.
25
Download