[perldocjp-cvs 1915] CVS update: docs/perl/5.16.1

Back to archive index

argra****@users***** argra****@users*****
2014年 12月 27日 (土) 18:35:38 JST


Index: docs/perl/5.16.1/perlxstypemap.pod
diff -u docs/perl/5.16.1/perlxstypemap.pod:1.1 docs/perl/5.16.1/perlxstypemap.pod:1.2
--- docs/perl/5.16.1/perlxstypemap.pod:1.1	Sun Oct 27 03:44:08 2013
+++ docs/perl/5.16.1/perlxstypemap.pod	Sat Dec 27 18:35:37 2014
@@ -3,8 +3,14 @@
 
 =head1 NAME
 
+=begin original
+
 perlxstypemap - Perl XS C/Perl type mapping
 
+=end original
+
+perlxstypemap - Perl XS C/Perl 型マッピング
+
 =head1 DESCRIPTION
 
 =begin original
@@ -19,14 +25,13 @@
 
 =end original
 
-The more you think about interfacing between two languages, the more
-you'll realize that the majority of programmer effort has to go into
-converting between the data structures that are native to either of
-the languages involved.  This trumps other matter such as differing
-calling conventions because the problem space is so much greater.
-There are simply more ways to shove data into memory than there are
-ways to implement a function call.
-(TBT)
+二つの言語の間のインターフェースについて考えれば考えるほど、プログラマの
+努力の大半はどちらかの言語にネイティブなデータ構造の変換に費やされることに
+気付くことになります。
+これは呼び出し規則の違いといったものより重要です; 問題空間が遥かに
+大きいからです。
+単純に、関数呼び出しを実装する方法よりデータをメモリに納める方法の方が遥かに
+多いです。
 
 =begin original
 
@@ -42,16 +47,14 @@
 
 =end original
 
-Perl XS' attempt at a solution to this is the concept of typemaps.
-At an abstract level, a Perl XS typemap is nothing but a recipe for
-converting from a certain Perl data structure to a certain C
-data structure and vice versa.  Since there can be C types that
-are sufficiently similar to warrant converting with the same logic,
-XS typemaps are represented by a unique identifier, henceforth
-called an   <XS type> in this document.  You can then tell the XS
-compiler that multiple C types are to be mapped with the same
-XS typemap.
-(TBT)
+これに対する Perl XS での解決の試みは、typemap という概念です。
+抽象レベルでは、Perl の XS typemap はある種の Perl データ構造からある種の
+C データ構造、およびその逆への変換のためのレシピ以外の何者でもありません。
+同じロジックでの変換を保証することと十分に似ている C 型もあるので、
+XS typemap はユニークな識別子として表現され、以降この文書では「XS 型」
+<XS type> と呼ばれます。
+それから複数の C 型が同じ XS typemap にマッピングされるように XS コンパイラに
+伝えることができます。
 
 =begin original
 
@@ -62,11 +65,9 @@
 
 =end original
 
-In your XS code, when you define an argument with a C type or when
-you are using a C<CODE:> and an C<OUTPUT:> section together with a
-C return type of your XSUB, it'll be the typemapping mechanism that
-makes this easy.
-(TBT)
+XS コード中で、C 型の引数を定義したり、XSUB の C 返り型と
+C<CODE:> と C<OUTPUT:> の節を共に使ったりする場合、
+これらを簡単にするために typemap 機構があります。
 
 =head2 Anatomy of a typemap
 
@@ -90,7 +91,7 @@
 
 =end original
 
-より実際的な用語として、typemap は C 関数の引数と値を Perl の値に
+より実際的な用語としては、typemap は C 関数の引数と値を Perl の値に
 マッピングするために B<xsubpp> コンパイラによって使われるコード片の集合
 (collection)です。
 typemap ファイルは C<TYPEMAP>, C<INPUT>, C<OUTPUT> というラベルの付いた
@@ -182,6 +183,8 @@
 
 =head2 The Role of the typemap File in Your Distribution
 
+(配布の中の typemap ファイルの役割)
+
 =begin original
 
 The default typemap in the F<lib/ExtUtils> directory of the Perl source
@@ -203,15 +206,15 @@
 これらの追加された typemap はメインの typemap にある INPUT や OUTPUT の
 マッピングを参照することができます。
 B<xsubpp> コンパイラは、エクステンションに固有の typemap が
-デフォルトのtypemapにあるマッピングをオーバーライドすることを許しています。
-Instead of using
-an additional F<typemap> file, typemaps may be embedded verbatim in XS
-with a heredoc-like syntax.  See the documentation on the C<TYPEMAP:> XS
-keyword.
-(TBT)
+デフォルトの typemap にあるマッピングをオーバーライドすることを許しています。
+追加の F<typemap> ファイルを使う代わりに、typemap はヒヤドキュメント風の
+文法を使って XS にそのまま組み込むことができます。
+C<TYPEMAP:> XS キーワードの文書を参照してください。
 
 =head2 Sharing typemaps Between CPAN Distributions
 
+(CPAN 配布間で typemap を共有する)
+
 =begin original
 
 Starting with ExtUtils::ParseXS version 3.13_01 (comes with perl 5.16
@@ -272,6 +275,8 @@
 
 =head2 Writing typemap Entries
 
+(typemap エントリを書く)
+
 =begin original
 
 Each INPUT or OUTPUT typemap entry is a double-quoted Perl string that
@@ -436,6 +441,8 @@
 
 =head2 Full Listing of Core Typemaps
 
+(コア typemap の完全な一覧)
+
 =begin original
 
 Each C type is represented by an entry in the typemap file that



perldocjp-cvs メーリングリストの案内
Back to archive index