開拓馬の厩

いろいろやる

dive_to_oss

Pythonを改造してみた プロンプトをうるさくしてみた

前回まではPythonに新たな予約語を追加してきました。Pythonは与えられたコードをASTなどの中間データに変換しながら、最終的には擬似的なバイトコードを生成しceval.cで処理するという方式を取っていることがわかりました。 しかし、この記事では文法関係の…

Pythonを改造してみた 排他的論理のブール演算子作った

Pythonでは、ブール演算で排他的論理を表現する場合、以下のような書き方があります。*1 #and or not演算子を組み合わせて記述 a and not b or not a and b #bool()関数の返り値が不一致であるか判定する bool(a) != bool(b) #operatorモジュール使用 from o…

Pythonを改造してみた はじめに

Pythonは実行時にソースコードから機械語を生成するインタプリタ型言語の一種です。この記事ではPythonがコードを実行する際に、内部でどのような処理を行っているのかを調査した結果を紹介します。 しかし、ただソースコードやドキュメントを読むだけでは面…

Pythonを改造してみた unless文を追加してみた

プログラム言語Rubyにはunlessという構文があります。これはif文の反対で与えられた条件式が偽の場合に処理を行います。 unless cond then print 'OK' end #上記の場合、condがFalseならOKが表示されます この記事ではPythonに上記のようなunless文を実装し…