とりあえずわかりやすいコンソール入力を追ってみました。中をのぞいてみると、Pythonの特徴であるindentの段数をちゃんと管理しています。この段数が80決め打ちになっているので、81以上のindentになったらどうなるでしょう(^^;。って、そんなにindentかけるのかな。最初はif文の段数を作ればいいかと思っていたけれど、Pythonユーザ会で公開されている日本語チュートリアル(非常にありがたいです。感謝)では、「elseifを使ってifの段数を増やさないようにしましょう」と書かれていた...。
それはさておき、内部でchar[]で処理しているところがあり、気になったので実験。ReadLine()で一発読みしているのでたぶん大丈夫だと思うけれど。
IronPython 1.1 (1.1) on .NET 2.0.50727.42 Copyright (c) Microsoft Corporation. All rights reserved. >>> print "ぱいそんだよー\" Traceback (most recent call last): SyntaxError: EOL while scanning single-quoted string (<stdin>, line 1) >>> print "表" 表 >>>
も大丈夫と(これだめだったらねぇ(^^;)。そして、いわゆるFULL_WIDTHの文字もTOKENとして識別してくれます。
>>> the = 1 >>> the == 1 True >>>
ってな感じ。それにしてもソースコードを追っかけて行くとあちこち飛びますな。