Lexer(xonsh.lexer)

xonshコード用のレクサー。

tokenizeとPLYのハイブリッドを使って書かれています。

class xonsh.lexer.Lexer[source]

xonsh言語用のレクサーを実装します。

属性:
fname : str

ファイル名

最後 : トークン

最後に表示されたトークン。

lineno : int

最後に見た行番号。

build(** kwargs )[ソース]

PLYレクサーAPIの一部。

input(s )[ソース]

文字列sのレクサーを呼び出します。

reset()[ソース]
split(s )[ソース]

文字列を空白で区切られたトークンのリストに分割します。

token()[ソース]

次のトークンを取得します。

tokens
xonsh.lexer.get_tokens(s )[ソース]

xonshコードを含む文字列を指定すると、関連するPLYトークンのストリームが生成されhandle_tokenます。

xonsh.lexer.handle_double_amps(状態、トークン)[ソース]
xonsh.lexer.handle_double_pipe(状態、トークン)[ソース]
xonsh.lexer.handle_error_linecont(状態、トークン)[ソース]

サブプロセスモードで特別な行継続を空白文字として扱う関数。

xonsh.lexer.handle_error_space(状態、トークン)[ソース]

サブプロセスモードで特殊な空白文字を処理する関数

xonsh.lexer.handle_error_token(状態、トークン)[ソース]

エラートークンを処理する関数

xonsh.lexer.handle_ignore(状態、トークン)[ソース]

無視すべきトークンを処理する関数

xonsh.lexer.handle_name(状態、トークン)[ソース]

名前トークンを処理する関数

xonsh.lexer.handle_rbrace(状態、トークン)[ソース]

取扱い機能 }

xonsh.lexer.handle_rbracket(状態、トークン)[ソース]

取扱い機能 ]

xonsh.lexer.handle_redirect(状態、トークン)[ソース]
xonsh.lexer.handle_rparen(状態、トークン)[ソース]

取扱い機能 )

xonsh.lexer.handle_token(状態、トークン)[ソース]

汎用トークンハンドラ。与えられた入力から1つ以上のPLYトークンを使用するtoken_mapか、または special_map生成する。

パラメーター:
状態:

レクサーの現在の状態。レクサーの動作を変更する、Pythonモードであるかサブプロセスモードであるかに関する情報を含みます。まだ考慮されていないトークンのストリームも含まれます。

トークン:

tokenize考慮中のトークン(from )