Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Mindfulness Personal Transformation Meditation Life Purpose Coaching Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee

This course includes:

  • 13 hours on-demand video
  • 5 articles
  • 24 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
IT & Software Other IT & Software Python Scripting

【夢月流】Pythonで「BASIC言語」を作ってみよう(基礎から学ぶインタプリタ入門)

そして自分の好みのインタプリタを作成してみよう。
Rating: 3.9 out of 53.9 (3 ratings)
52 students
Created by 速水 夢月
Last updated 7/2019
Japanese
30-Day Money-Back Guarantee

What you'll learn

  • プログラミング言語を作成する上での基本的な言語知識を学びます
  • 特にインタープリタの実装方法を詳しく理解することができます
  • PythonやRubyのインタープリタの実装方法を学習する上での基本的なノウハウを身につけることができます
  • その他、一般的なプログラミング言語に対する造詣が深まります
  • Pythonでのコンパイラやインタープリタの実装方法を学びます

Requirements

  • Pythonの基本知識
  • Pythonを実行できる環境(本コースではWindowsを使用しています)

Description

インタプリタとは?

コンピュータでプログラムを実行する方法は大きく分けて二つあります。それは「インタプリタ」と「コンパイラ」です。インタプリタはプログラミング言語で書かれたソースコード(=プログラム)を読み込んで、ただちに解釈実行します。
実行時にその都度解釈するわけですから、当然、時間が掛かります。
「Python」や「Perl」、「JavaScript」といった言語はインタプリタに分類されます。

一方、コンパイラはプログラミング言語で書かれたソースコードを事前に機械語へ「一括変換」して、変換語のプログラムがコンピュータに命令を与えます。「事前に変換する」というところがポイントです。実行時に改めて変換する必要がないわけですから、高速で処理できます。

変換する仕組みのことを「コンパイラ」、変換する作業のことを「コンパイル」と呼びます。「C言語」や「C++」はコンパイラに分類されます。

インタプリタを作ってみよう

実は、インタプリタを作るのは難しいことではありません。この講座では、言語処理用のライブラリなどは使わずに、一から自分の手でトークン分解などをしていき、言語処理のしくみなどを理解していきましょう。

その講座を修了したときには、Pythonなどのインタープリタのしくみも知りたいと思うようになるはずです。

さあ、それでは開始しましょう。


Who this course is for:

  • コンパイラやインタープリタなどの翻訳処理系に興味がある方
  • 自分で独自のプログラミング言語を作成してみたい方
  • Pythonを使ってオブジェクト指向でのプログラミング経験をしてみたい方
  • Pythonを使って楽しくプログラミングをしたい方

Course content

8 sections • 70 lectures • 13h 4m total length

  • Preview09:23

  • Preview03:07
  • Preview07:08
  • 状態遷移図を理解してプログラムを改善してみよう
    09:32
  • エラーチェックを追加してみよう
    05:36
  • このコースの文法表現方法について
    03:30
  • 数字のチェックルーチンを自作してみよう(その1)
    06:57
  • 数字のチェックルーチンを自作してみよう(その2)
    11:44
  • 連続して演算ができるようにしてみよう
    05:52
  • 「=」を入力したときにだけ計算結果を表示するようにしてみよう
    04:47
  • 演算子の優先順位を考慮して計算してみよう(1)
    05:10
  • 演算子の優先順位を考慮して計算してみよう(2)
    18:04
  • 括弧を導入してみよう(1)
    08:15
  • 括弧を導入してみよう(2)
    17:08
  • 括弧を導入してみよう(補足)
    00:42

  • このセクションのゴールについて
    02:05
  • 字句解析とトークン分解について
    11:33
  • 予約語トークンを作ってみよう
    11:15
  • 数字トークンを作ってみよう(1)符号なし数字
    15:24
  • 数字トークンを作ってみよう(2)符号付き数字
    06:16
  • トークン列を使って電卓もどきを改造してみよう
    24:22
  • 字句解析のエラー出力を改造してみよう
    14:59
  • 構文解析のエラー出力を改造してみよう
    16:05

  • このセクションのゴールについて
    05:09
  • PRINT文を実装してみよう
    11:04
  • 代入文を実装してみよう
    17:42
  • 単項式 -a を実装してみよう
    16:56
  • 【補足】単項演算子 -a を実装してみよう
    00:39
  • プログラム化してみよう(1)プログラム化とは?
    04:35
  • プログラム化してみよう(2)クラスProgram
    10:25
  • LISTコマンドを実装してみよう
    06:38
  • LISTコマンド・異常系処理の追加
    05:27
  • LOADコマンドを実装してみよう
    06:38
  • SAVEコマンドを実装してみよう
    05:52
  • RUNコマンドを実装してみよう
    14:18
  • CLEAR文を実装してみよう
    06:09
  • GOTO文を実装してみよう
    03:17
  • IF~GOTO文を実装してみよう
    20:35
  • traceオプションとエラーメッセージを強化してみよう
    14:41
  • FOR文の文法説明
    05:28
  • FOR文を実装してみよう
    27:20
  • FOR文の異常系のテストをしてみよう
    09:09
  • IF~THEN~ELSE文の文法説明
    04:09
  • IF~THEN文を実装してみよう
    21:23
  • IF~THEN文の異常系のテストをしてみよう
    12:05
  • LISTコマンドで段付表示されるようにしてみよう
    09:04
  • 文字列と文字列変数を導入してみよう
    11:00
  • 文字列変数の代入文を実装してみよう
    18:19
  • PRINT文を拡張してみよう
    20:18
  • 条件式に文字列比較を追加してみよう
    16:58
  • INPUT文を実装してみよう
    15:34
  • REM文(コメント文)を実装してみよう
    05:22
  • 配列を実装してみよう(1)配列の定義
    28:05
  • 【補足】配列を実装してみよう(1)配列の定義
    00:21
  • 配列を実装してみよう(2)代入文
    23:36
  • 配列を実装してみよう(3)算術式
    26:59
  • GOSUB文を実装してみよう
    17:58
  • RENUMコマンドを実装してみよう
    29:59

  • IF/FOR文などの直接実行時のエラー対応
    03:51
  • 行番号と配列添字のエラーチェック強化
    12:49
  • CLEAR文とREM文の修正
    05:42
  • エラーメッセージの改善
    08:43
  • LISTコマンドの改善
    14:09
  • SAVEコマンドの改善
    07:44
  • 配列の添字に算術式も指定可能にしてみよう
    11:27

  • 文字列関数MID$()を実装してみよう
    19:28
  • 関数INT()を実装してみよう
    09:54

  • オセロゲーム
    16:00

  • if文の不具合の修正
    00:58
  • listコマンドの不具合の修正
    01:07

Instructor

速水 夢月
コンピュータ言語開発エンジニア ECサイト経営 海外輸入販売コンサルタント
速水 夢月
  • 4.1 Instructor Rating
  • 372 Reviews
  • 2,418 Students
  • 9 Courses

某IT企業でコンピュータ言語の開発を行っている傍らで、趣味でRuby, Pythonなどでいろいろなツールを作成して遊んでいます。

ECサイト、ショッピングサイト等を構築し、海外からの商品を輸入販売しているECサイトコンサルタントでもあります。

Udemyにおいては、趣味を通じて培った様々なノウハウ、特にPythonの関連モジュールの使い方やECサイト構築ツール等の使い方などを公開していきたいと思います。

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.