=encoding utf8 =for comment Consistent formatting of this file is achieved with: perl ./Porting/podtidy pod/perlsource.pod =head1 NAME =begin original perlsource - A guide to the Perl source tree =end original perlsource - Perl のソースツリーのガイド =head1 DESCRIPTION =begin original This document describes the layout of the Perl source tree. If you're hacking on the Perl core, this will help you find what you're looking for. =end original この文書は、Perl ソースツリーのレイアウトを記述しています。 Perl コアをハックする場合は、これがあなたの探しているものを見つける 助けになるでしょう。 =head1 FINDING YOUR WAY AROUND (進む方向を見つける) =begin original The Perl source tree is big. Here's some of the thing you'll find in it: =end original Perl ソースツリーは巨大です。 以下はその中で見つけられるものの一部です: =head2 C code (C コード) =begin original The C source code and header files mostly live in the root of the source tree. There are a few platform-specific directories which contain C code. In addition, some of the modules shipped with Perl include C or XS code. =end original C のソースコードとヘッダファイルはほとんどソースツリーのルートにあります。 一部のプラットフォーム固有ディレクトリには C のコードがあります。 さらに、Perl に同梱されている一部のモジュールは C や XS のコードを含みます。 =begin original See L for more details on the files that make up the Perl interpreter, as well as details on how it works. =end original Perl インタプリタを作り上げているファイル、およびそれが どのように動作するかに関するさらなる詳細については L を参照してください。 =head2 Core modules (コアモジュール) =begin original Modules shipped as part of the Perl core live in four subdirectories. Two of these directories contain modules that live in the core, and two contain modules that can also be released separately on CPAN. Modules which can be released on cpan are known as "dual-life" modules. =end original Perl コアの一部として同梱されているモジュールは、四つのサブディレクトリに あります。 それらのディレクトリの二つにはコアで管理されているモジュールがあり、 二つには CPAN でも独自にリリースされているモジュールがあります。 cpan でリリースされているモジュールは「二重管理」(dual-life)モジュールとして 知られています。 =over 4 =item * F =begin original This directory contains pure-Perl modules which are only released as part of the core. This directory contains I of the modules and their tests, unlike other core modules. =end original このディレクトリには、コアの一部としてのみリリースされている、ピュア Perl モジュールがあります。 このディレクトリには、その他のコアモジュールと異なり、 I<全ての> モジュールとそのテストがあります。 =item * F =begin original Like F, this directory contains modules which are only released as part of the core. Unlike F, however, a module under F generally has a CPAN-style directory- and file-layout and its own F. There is no expectation that a module under F will work with earlier versions of Perl 5. Hence, such a module may take full advantage of syntactical and other improvements in Perl 5 blead. =end original F と同様、このディレクトリには、コアの一部としてのみリリースされている モジュールがあります。 しかし、F と異なり、F 以下のモジュールは一般的に CPAN 風のディレクトリおよびファイル配置をしていて、 独自の F を持っています。 F 以下のモジュールは、以前のバージョンの Perl 5 で動作することを 想定していません。 従って、このようなモジュールは Perl 5 blead の文法的およびその他の改良の 利点を最大限受けられます。 =item * F =begin original This directory is for dual-life modules where the blead source is canonical. Note that some modules in this directory may not yet have been released separately on CPAN. Modules under F should make an effort to work with earlier versions of Perl 5. =end original このディレクトリは、blead のソースが主である二重管理モジュールです。 このディレクトリのモジュールには、まだ CPAN に独自にリリースされていない ものもあることに注意してください。 F 以下のモジュールは、以前のバージョンの Perl 5 でも動作するための 努力が行われるべきです。 =item * F =begin original This directory contains dual-life modules where the CPAN module is canonical. Do not patch these modules directly! Changes to these modules should be submitted to the maintainer of the CPAN module. Once those changes are applied and released, the new version of the module will be incorporated into the core. =end original このディレクトリには、CPAN モジュールが主である二重管理モジュールが あります。 これらのモジュールに直接パッチをしないでください! これらのモジュールへの変更は、CPAN モジュールの管理者に投稿されるべきです。 その変更が適用されてリリースされてから、モジュールの新しいバージョンが コアに統合されます。 =back =begin original For some dual-life modules, it has not yet been determined if the CPAN version or the blead source is canonical. Until that is done, those modules should be in F. =end original 一部の二重管理モジュールでは、CPAN 版と blead のソースのどちらが主か まだ決定されていません。 決定が成されるまで、このようなモジュールは F に置かれます。 =head2 Tests (テスト) =begin original The Perl core has an extensive test suite. If you add new tests (or new modules with tests), you may need to update the F file so that the tests are run. =end original Perl コアには大規模なテストスイートがあります。 新しいテスト(またはテスト付きの新しいモジュール)を追加する場合、 テストが実行されるように、F ファイルを更新する必要があるでしょう。 =over 4 =item * Module tests (モジュールのテスト) =begin original Tests for core modules in the F directory are right next to the module itself. For example, we have F and F. =end original F ディレクトリにあるコアモジュールのテストは、 モジュール自身のすぐ隣にあります。 例えば、F and F があります。 =begin original Tests for modules in F and the dual-life modules are in F subdirectories for each module, like a standard CPAN distribution. =end original F と二重管理のモジュールのテストは、標準の CPAN 配布と同様、 各モジュールの F サブディレクトリにあります。 =item * F =begin original Tests for the absolute basic functionality of Perl. This includes C, basic file reads and writes, simple regexes, etc. These are run first in the test suite and if any of them fail, something is I broken. =end original Perl の絶対的な基本機能をテストします。 これには C、基本的なファイルの読み書き、単純な正規表現などを含みます。 これらはテストスイートで最初に実行され、それらのいずれかが失敗した場合、 何かが I<本当に> 壊れていることになります。 =item * F =begin original Tests for basic control structures, C, C, subroutines, etc. =end original これらは、基本制御構造、C、C、サブルーチンなどを テストします。 =item * F =begin original Tests for basic issues of how Perl parses and compiles itself. =end original Perl の構文解析およびコンパイル方法に関する基本的な問題をテストします。 =item * F =begin original Tests for built-in IO functions, including command line arguments. =end original コマンドライン引数を含む組み込み IO 関数をテストします。 =item * F =begin original Tests for perl's method resolution order implementations (see L). =end original perl のメソッド解決順序実装(L を参照)をテストします。 =item * F =begin original Tests for perl's built in functions that don't fit into any of the other directories. =end original perl に組み込まれている関数のうち、他のどのディレクトリにも適合しない 関数をテストします。 =item * F =begin original Tests for perl's built in functions which, like those in F, do not fit into any of the other directories, but which, in addition, cannot use F,as that program depends on functionality which the test file itself is testing. =end original Tests for perl's built in functions which, like those in F にあるものと同様、perl の組み込み関数で、他のディレクトリに 合わないものですが、さらに、F を使えないテスト; このプログラムはテストファイル自身がテストしている機能に 依存しているからです。 =item * F =begin original Tests for regex related functions or behaviour. (These used to live in t/op). =end original 正規表現関係の関数や振る舞いに関するテストをします。 (これらは以前は t/op にありました)。 =item * F =begin original Tests for features of how perl actually runs, including exit codes and handling of PERL* environment variables. =end original 終了コードや PERL* 環境変数の処理など、perl が 実際にどのように実行されるかをテストします。 =item * F =begin original Tests for the core support of Unicode. =end original Unicode のコア対応をテストします。 =item * F =begin original Windows-specific tests. =end original Windows 固有のテスト。 =item * F =begin original Tests the state of the source tree for various common errors. For example, it tests that everyone who is listed in the git log has a corresponding entry in the F file. =end original ソースツリーの状態に関して、様々な一般的な誤りをテストします。 例えば、git ログに乗っている全員が F ファイルの対応するエントリを 持っているかをテストします。 =item * F =begin original The old home for the module tests, you shouldn't put anything new in here. There are still some bits and pieces hanging around in here that need to be moved. Perhaps you could move them? Thanks! =end original モジュールテストの古いホームです; ここに新しいものを置くべきではありません。 ここにはまだ動かす必要のあるいくつかの断片が残っています。 それらを動かすことはできますか? ありがとう! =item * F =begin original A test suite for the s2p converter. =end original s2p コンバータ用のテストスイート。 =back =head2 Documentation (文書) =begin original All of the core documentation intended for end users lives in F. Individual modules in F, F, F, and F usually have their own documentation, either in the F file or an accompanying F file. =end original エンドユーザー向けの全てのコア文書は F にあります。 F, F, F, F にある個々のモジュールは 通常独自の文書を持っていて、それは F ファイルの中か 付随する F ファイルにあります。 =begin original Finally, documentation intended for core Perl developers lives in the F directory. =end original 最後に、コア Perl 開発者向けの文書は F ディレクトリにあります。 =head2 Hacking tools and documentation (ツールと文書をハックする) =begin original The F directory contains a grab bag of code and documentation intended to help porters work on Perl. Some of the highlights include: =end original F ディレクトリには、porters の Perl での作業を助けるための コードと文書の寄せ集めになっています。 重要なものとしては: =over 4 =item * F =begin original These are scripts which will check the source things like ANSI C violations, POD encoding issues, etc. =end original これらは、ANSI C 違反、POD のエンコーディング問題などのソースのことを チェックするスクリプトです。 =item * F, F, and F =begin original These files contain information on who maintains which modules. Run C to find out more information about a dual-life module. =end original これらのファイルはモジュールを管理している人に関する情報です。 二重管理モジュールに関するさらなる情報を探すには、 C を実行します。 =item * F =begin original Tidies a pod file. It's a good idea to run this on a pod file you've patched. =end original pod ファイルを整理します。 パッチを当てた pod ファイルに対してこれを実行するのは良い考えです。 =back =head2 Build system (ビルドシステム) =begin original The Perl build system starts with the F script in the root directory. =end original Perl ビルドシステムは、ルートディレクトリの F スクリプトから 始まります。 =begin original Platform-specific pieces of the build system also live in platform-specific directories like F, F, etc. =end original ビルドシステムのプラットフォーム固有の部分は、 F, F のようなプラットフォーム固有ディレクトリにもあります。 =begin original The F script is ultimately responsible for generating a F. =end original F スクリプトは、F を生成するための 最終的な責任を持ちます。 =begin original The build system that Perl uses is called metaconfig. This system is maintained separately from the Perl core. =end original Perl が使っているビルドシステムは metaconfig と呼ばれます。 このシステムは Perl コアとは別に保守されています。 =begin original The metaconfig system has its own git repository. Please see its README file in L for more details. =end original metaconfig システムは独自の git リポジトリを持っています。 さらなる詳細については L にある README ファイルを 参照してください。 =begin original The F directory contains various files related to cross-compiling Perl. See F for more details. =end original F ディレクトリには、Perl のクロスコンパイルに関連した様々な ファイルがあります。 さらる詳細については F を参照してください。 =head2 F =begin original This file lists everyone who's contributed to Perl. If you submit a patch, you should add your name to this file as part of the patch. =end original これは Perl に貢献した全員の一覧です。 あなたがパッチを投稿する場合、パッチの一部としてこのファイルにあなたの名前を 追加するべきです。 =head2 F =begin original The F file in the root of the source tree contains a list of every file in the Perl core, as well as a brief description of each file. =end original ソースツリーのルートにある F ファイルは、Perl コアにある全ての ファイルの一覧と、それぞれのファイルの概要です。 =begin original You can get an overview of all the files with this command: =end original 次のコマンドで、全てのファイルの概要を得られます: % perl -lne 'print if /^[^\/]+\.[ch]\s+/' MANIFEST =begin meta Translate: SHIRAKATA Kentaro Status: completed =end meta