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
Submit search
EN
Uploaded by
MASA_T_O
PPTX, PDF
4,347 views
ゲーム組み込み用スクリプト言語を作ってみた
C#のExpressionTreeを使って作成したスクリプト言語の簡単な紹介
Technology
◦
Read more
3
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 20
2
/ 20
3
/ 20
4
/ 20
5
/ 20
6
/ 20
7
/ 20
8
/ 20
9
/ 20
10
/ 20
11
/ 20
12
/ 20
13
/ 20
14
/ 20
15
/ 20
16
/ 20
17
/ 20
18
/ 20
19
/ 20
20
/ 20
More Related Content
PPTX
ゲーム組み込み向け独自スクリプト言語の設計で気を付けている事
by
Shun Moriya
PDF
金大アルゴリズム勉強会#007資料
by
Takumi Murano
PDF
スクリプト・プログラマー宣言
by
kanemu
PPTX
二求の塾 プログラミング講座(2019-08-10)
by
Atsuo Yamasaki
PPTX
Programming school 02
by
Masato Nakajima
PDF
30分で作ってRubyを体感資料
by
松本 雄貴
PDF
磯野ー!Dartやろうぜー!
by
uka yare
PPTX
はじめてのChu カッコカリ
by
Masuda Tomoaki
ゲーム組み込み向け独自スクリプト言語の設計で気を付けている事
by
Shun Moriya
金大アルゴリズム勉強会#007資料
by
Takumi Murano
スクリプト・プログラマー宣言
by
kanemu
二求の塾 プログラミング講座(2019-08-10)
by
Atsuo Yamasaki
Programming school 02
by
Masato Nakajima
30分で作ってRubyを体感資料
by
松本 雄貴
磯野ー!Dartやろうぜー!
by
uka yare
はじめてのChu カッコカリ
by
Masuda Tomoaki
What's hot
PPTX
The Steps of Programming
by
shundroidk
PDF
シナリオレビューという手法の提案
by
tuna cook
PPTX
Intelli code
by
m ishizaki
PPTX
初心者目線でIo t
by
Makoto Nishimura
PDF
平成26年度 マルチメディア研究同好会 ゲーム/コンピューター班 新入会員の指導・活動予定の概要
by
Multimedia Research Club (TMCIT)
PPTX
WordPress 3.8 RC1
by
BREN
PPTX
Javaプログラミング入門【第1回】
by
Yukiko Kato
PPTX
第0回プログラミング講座
by
happo31
PDF
オンライン英会話のモチベーション維持!
by
civicpg
PDF
CodingTips+ 基礎編
by
Yusuke Ito
PPTX
複数人でSwift開発を行うには
by
Yuya Fujiwara
PDF
プログラミング教室 シーズン1
by
Yu Kohase
PPTX
アクセサリ部
by
Tatsuya Iwanari
PPTX
JXUG Windowsアプリを開発している皆さん、C#でスマホアプリ開発を試してみませんか?ハンズオン
by
Tomohiro Suzuki
PDF
プログラミング言語は怖くない
by
Shoichi Matsuda
PDF
議論を描く技術「ファシリテーショングラフィック」
by
nishikawa_makoto7
PDF
JS/Canvas Tutorial1
by
秀俊 伊藤
PPTX
Developers Summit 2014 【13-D-7】 コミュニティLT - Story 5. 「新人技術者にどうプログラミングを教えたか」
by
Fujio Kojima
PDF
メタプログラミングでExcel仕様書よさらば
by
Kouji Matsui
The Steps of Programming
by
shundroidk
シナリオレビューという手法の提案
by
tuna cook
Intelli code
by
m ishizaki
初心者目線でIo t
by
Makoto Nishimura
平成26年度 マルチメディア研究同好会 ゲーム/コンピューター班 新入会員の指導・活動予定の概要
by
Multimedia Research Club (TMCIT)
WordPress 3.8 RC1
by
BREN
Javaプログラミング入門【第1回】
by
Yukiko Kato
第0回プログラミング講座
by
happo31
オンライン英会話のモチベーション維持!
by
civicpg
CodingTips+ 基礎編
by
Yusuke Ito
複数人でSwift開発を行うには
by
Yuya Fujiwara
プログラミング教室 シーズン1
by
Yu Kohase
アクセサリ部
by
Tatsuya Iwanari
JXUG Windowsアプリを開発している皆さん、C#でスマホアプリ開発を試してみませんか?ハンズオン
by
Tomohiro Suzuki
プログラミング言語は怖くない
by
Shoichi Matsuda
議論を描く技術「ファシリテーショングラフィック」
by
nishikawa_makoto7
JS/Canvas Tutorial1
by
秀俊 伊藤
Developers Summit 2014 【13-D-7】 コミュニティLT - Story 5. 「新人技術者にどうプログラミングを教えたか」
by
Fujio Kojima
メタプログラミングでExcel仕様書よさらば
by
Kouji Matsui
Recently uploaded
PDF
さくらインターネットの今 法林リージョン:さくらのAIとか GPUとかイベントとか 〜2026年もバク進します!〜
by
法林浩之
PDF
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」
by
嶋 是一 (Yoshikazu SHIMA)
PDF
Reiwa 7 IT Strategist Afternoon I Question-1 Ansoff's Growth Vector
by
akipii ogaoga
PDF
Drupal Recipes 解説 .
by
iPride Co., Ltd.
PDF
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望
by
CRI Japan, Inc.
PDF
2025→2026宙畑ゆく年くる年レポート_100社を超える企業アンケート総まとめ!!_企業まとめ_1229_3版
by
sorabatake
PPTX
ddevについて .
by
iPride Co., Ltd.
PDF
100年後の知財業界-生成AIスライドアドリブプレゼン イーパテントYouTube配信
by
e-Patent Co., Ltd.
PDF
Reiwa 7 IT Strategist Afternoon I Question-1 3C Analysis
by
akipii ogaoga
さくらインターネットの今 法林リージョン:さくらのAIとか GPUとかイベントとか 〜2026年もバク進します!〜
by
法林浩之
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」
by
嶋 是一 (Yoshikazu SHIMA)
Reiwa 7 IT Strategist Afternoon I Question-1 Ansoff's Growth Vector
by
akipii ogaoga
Drupal Recipes 解説 .
by
iPride Co., Ltd.
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望
by
CRI Japan, Inc.
2025→2026宙畑ゆく年くる年レポート_100社を超える企業アンケート総まとめ!!_企業まとめ_1229_3版
by
sorabatake
ddevについて .
by
iPride Co., Ltd.
100年後の知財業界-生成AIスライドアドリブプレゼン イーパテントYouTube配信
by
e-Patent Co., Ltd.
Reiwa 7 IT Strategist Afternoon I Question-1 3C Analysis
by
akipii ogaoga
ゲーム組み込み用スクリプト言語を作ってみた
1.
ゲーム組み込み用スクリ プト言語を作ってみた 2013年6月1日
2.
目次 目的 言語仕様策定
作る 作った
3.
目的 細かい調整するにはスクリプト言語がいい 小規模なロジックをたくさん書くのに便利
既存言語調べるのめんどくさい 作るの楽しそう
4.
言語仕様策定
5.
基本事項 言語の開発はC#で 動作環境もC#で
1フレームで数百回走らせられる速度 コンパイル型にする
6.
方針 単純な命令は書きやすく 括弧なしでのメソッド呼び出し
オーバーロードを簡単に 名前付き引数的機能 手続き型っぽく 実装の簡単化 1種類のオブジェクトにつき1本のスクリプト
7.
実際のスクリプト 実演
8.
スクリプトでパーティクル制御
9.
作る
10.
処理の流れ ソースの文字列の読み込み プリプロセッサ
文字列をトークン分割(スキャナ) トークン : スペースで区切られた単語や改行文字 トークン列を構文に整理(パーサ) 構文を実行可能形式に変換(プロセッサ) 実行
11.
ソースの読み込み 普通のファイル読み込み 暗号化して固めたデータからの読み込みも別 途サポートした
12.
プリプロセッサ 定数定義の#defineと単純な#includeをサポー ト 入力ソースを適当に置換して実装
13.
スキャナ 入力文字列をスペースでトークンに分割 手抜き
トークンを型付けする 数値リテラルはfloat値に 演算子やタブ、改行などは対応する列挙体に その他は文字列に トークンの配列を返す
14.
パーサ コメント部分を除去 トークン列を改行を目印に行に分割
行にインデントの深さも与える 行内のカッコを再帰的にまとめる カッコで括られた部分を一塊のオブジェクト に
15.
プロセッサ基本方針 .NETのExpression Treeというライブラリを使 用
式の木構造をオブジェクトで組んでコンパイ ルすると、そのまま実行可能な無名関数を返 す! 本体側のメソッド呼び出しにはリフレクショ ンを活用
16.
プロセッサ準備 本体側のメソッドやプロパティを呼び出す準 備 1つの型につき1つの「識別子-メソッド情報」 辞書
全ての型で1つ、グローバル関数の辞書も用意
17.
プロセッサ1 トップレベルの文を1つずつパース トップレベルの文=必ず実行される文
文がどの構文かをチェック 最初の1、2単語を見て判断可能 制御文、代入文、宣言文でなければメソッド呼び 出し 実行中に使う数値型は基本的に全てfloat
18.
作った
19.
速度テスト float i =
0; float j = 0; while (i < 1000){ j = 0; while (j < 1000){ j++; } i++; } というコードを最適化なしで実行 C#ネイティブ: 10k ticks(2-3ms) スクリプト: 16k ticks(4ms)
20.
速度テスト2 中身が空で1引数のC#側関数を40万回呼び出 し C#ネイティブ:12ms
スクリプト:57ms 動的な呼び出しなのでやや遅い
Download