Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/moses-smt/mosesdecoder.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTetsuo Kiso <tetsuo-s@is.naist.jp>2012-05-07 21:01:23 +0400
committerTetsuo Kiso <tetsuo-s@is.naist.jp>2012-05-07 21:01:23 +0400
commit3880f0e0dec12e8e2176c9f0d0e57b6966199254 (patch)
treed20f77ad71627bb9f391272f8dfbe03e067a9d96 /scripts/ems
parent0d7b40bf8e3d8916c0862c363ec2380cf9bedee7 (diff)
Fix warning: an array subscript is of type char (-Wchar-subscripts).
According to gcc documentation, this is a common cause of error. See: http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
Diffstat (limited to 'scripts/ems')
-rw-r--r--scripts/ems/biconcor/Alignment.cpp32
-rw-r--r--scripts/ems/biconcor/Alignment.h14
-rw-r--r--scripts/ems/biconcor/Mismatch.cpp8
-rw-r--r--scripts/ems/biconcor/Mismatch.h12
-rw-r--r--scripts/ems/biconcor/PhrasePairCollection.cpp8
-rw-r--r--scripts/ems/biconcor/TargetCorpus.cpp4
-rw-r--r--scripts/ems/biconcor/TargetCorpus.h4
7 files changed, 40 insertions, 42 deletions
diff --git a/scripts/ems/biconcor/Alignment.cpp b/scripts/ems/biconcor/Alignment.cpp
index 255ad197e..ee5418893 100644
--- a/scripts/ems/biconcor/Alignment.cpp
+++ b/scripts/ems/biconcor/Alignment.cpp
@@ -40,7 +40,7 @@ void Alignment::Create(const string& fileName)
cerr << m_size << " alignment points" << endl;
// allocate memory
- m_array = (char*) calloc( sizeof( char ), m_size*2 );
+ m_array = (int*) calloc( sizeof(int), m_size*2 );
m_sentenceEnd = (INDEX*) calloc( sizeof( INDEX ), m_sentenceCount );
if (m_array == NULL) {
@@ -121,13 +121,11 @@ vector<string> Alignment::Tokenize( const char input[] )
return token;
}
-bool Alignment::PhraseAlignment( INDEX sentence, char target_length,
- char source_start, char source_end,
- char &target_start, char &target_end,
- char &pre_null, char &post_null )
+bool Alignment::PhraseAlignment( INDEX sentence, int target_length,
+ int source_start, int source_end,
+ int &target_start, int &target_end,
+ int &pre_null, int &post_null )
{
- vector< char > alignedTargetWords;
-
// get index for first alignment point
INDEX sentenceStart = 0;
if (sentence > 0) {
@@ -138,9 +136,9 @@ bool Alignment::PhraseAlignment( INDEX sentence, char target_length,
target_start = target_length;
target_end = 0;
for(INDEX ap = sentenceStart; ap <= m_sentenceEnd[ sentence ]; ap += 2 ) {
- char source = m_array[ ap ];
+ int source = m_array[ ap ];
if (source >= source_start && source <= source_end ) {
- char target = m_array[ ap+1 ];
+ int target = m_array[ ap+1 ];
if (target < target_start) target_start = target;
if (target > target_end ) target_end = target;
}
@@ -151,9 +149,9 @@ bool Alignment::PhraseAlignment( INDEX sentence, char target_length,
// check consistency
for(INDEX ap = sentenceStart; ap <= m_sentenceEnd[ sentence ]; ap += 2 ) {
- char target = m_array[ ap+1 ];
+ int target = m_array[ ap+1 ];
if (target >= target_start && target <= target_end ) {
- char source = m_array[ ap ];
+ int source = m_array[ ap ];
if (source < source_start || source > source_end) {
return false; // alignment point out of range
}
@@ -165,19 +163,19 @@ bool Alignment::PhraseAlignment( INDEX sentence, char target_length,
m_unaligned[i] = true;
}
for(INDEX ap = sentenceStart; ap <= m_sentenceEnd[ sentence ]; ap += 2 ) {
- char target = m_array[ ap+1 ];
+ int target = m_array[ ap+1 ];
m_unaligned[ target ] = false;
}
// prior unaligned words
pre_null = 0;
- for(char target = target_start-1; target >= 0 && m_unaligned[ target ]; target--) {
+ for(int target = target_start-1; target >= 0 && m_unaligned[ target ]; target--) {
pre_null++;
}
// post unaligned words;
post_null = 0;
- for(char target = target_end+1; target < target_length && m_unaligned[ target ]; target++) {
+ for(int target = target_end+1; target < target_length && m_unaligned[ target ]; target++) {
post_null++;
}
return true;
@@ -192,7 +190,7 @@ void Alignment::Save(const string& fileName ) const
}
fwrite( &m_size, sizeof(INDEX), 1, pFile );
- fwrite( m_array, sizeof(char), m_size*2, pFile ); // corpus
+ fwrite( m_array, sizeof(int), m_size*2, pFile ); // corpus
fwrite( &m_sentenceCount, sizeof(INDEX), 1, pFile );
fwrite( m_sentenceEnd, sizeof(INDEX), m_sentenceCount, pFile); // sentence index
@@ -211,8 +209,8 @@ void Alignment::Load(const string& fileName )
fread( &m_size, sizeof(INDEX), 1, pFile );
cerr << "alignment points in corpus: " << m_size << endl;
- m_array = (char*) calloc( sizeof(char), m_size*2 );
- fread( m_array, sizeof(char), m_size*2, pFile ); // corpus
+ m_array = (int*) calloc( sizeof(int), m_size*2 );
+ fread( m_array, sizeof(int), m_size*2, pFile ); // corpus
fread( &m_sentenceCount, sizeof(INDEX), 1, pFile );
cerr << "sentences in corpus: " << m_sentenceCount << endl;
diff --git a/scripts/ems/biconcor/Alignment.h b/scripts/ems/biconcor/Alignment.h
index 5927388c7..d3de47863 100644
--- a/scripts/ems/biconcor/Alignment.h
+++ b/scripts/ems/biconcor/Alignment.h
@@ -8,7 +8,7 @@ public:
typedef unsigned int INDEX;
private:
- char *m_array;
+ int *m_array;
INDEX *m_sentenceEnd;
INDEX m_size;
INDEX m_sentenceCount;
@@ -23,10 +23,10 @@ public:
~Alignment();
void Create(const std::string& fileName );
- bool PhraseAlignment( INDEX sentence, char target_length,
- char source_start, char source_end,
- char &target_start, char &target_end,
- char &pre_null, char &post_null );
+ bool PhraseAlignment( INDEX sentence, int target_length,
+ int source_start, int source_end,
+ int &target_start, int &target_end,
+ int &pre_null, int &post_null );
void Load(const std::string& fileName );
void Save(const std::string& fileName ) const;
std::vector<std::string> Tokenize( const char input[] );
@@ -38,10 +38,10 @@ public:
INDEX GetNumberOfAlignmentPoints( INDEX sentence ) const {
return ( m_sentenceEnd[ sentence ] - GetSentenceStart( sentence ) ) / 2;
}
- char GetSourceWord( INDEX sentence, INDEX alignment_point ) const {
+ int GetSourceWord( INDEX sentence, INDEX alignment_point ) const {
return m_array[ GetSentenceStart( sentence ) + alignment_point*2 ];
}
- char GetTargetWord( INDEX sentence, INDEX alignment_point ) const {
+ int GetTargetWord( INDEX sentence, INDEX alignment_point ) const {
return m_array[ GetSentenceStart( sentence ) + alignment_point*2 + 1 ];
}
};
diff --git a/scripts/ems/biconcor/Mismatch.cpp b/scripts/ems/biconcor/Mismatch.cpp
index 6de8fb55b..d43b2af8f 100644
--- a/scripts/ems/biconcor/Mismatch.cpp
+++ b/scripts/ems/biconcor/Mismatch.cpp
@@ -22,7 +22,7 @@ enum {
ALIGNED = 5
};
-Mismatch::Mismatch( SuffixArray *sa, TargetCorpus *tc, Alignment *a, INDEX sentence_id, INDEX position, char source_length, char target_length, char source_start, char source_end )
+Mismatch::Mismatch( SuffixArray *sa, TargetCorpus *tc, Alignment *a, INDEX sentence_id, INDEX position, int source_length, int target_length, int source_start, int source_end )
:m_suffixArray(sa)
,m_targetCorpus(tc)
,m_alignment(a)
@@ -58,8 +58,8 @@ Mismatch::~Mismatch () {}
void Mismatch::PrintClippedHTML( ostream* out, int width )
{
- char source_annotation[256], target_annotation[256];
- vector< string > label_class;
+ int source_annotation[256], target_annotation[256];
+ vector< string > label_class;
label_class.push_back( "" );
label_class.push_back( "mismatch_pre_aligned" );
label_class.push_back( "mismatch_post_aligned" );
@@ -281,7 +281,7 @@ void Mismatch::PrintClippedHTML( ostream* out, int width )
*out << "</td></tr>";
}
-void Mismatch::LabelSourceMatches( char *source_annotation, char *target_annotation, char source_id, char label ) {
+void Mismatch::LabelSourceMatches(int *source_annotation, int *target_annotation, int source_id, int label ) {
for(INDEX ap=0; ap<m_num_alignment_points; ap++) {
if (m_alignment->GetSourceWord( m_sentence_id, ap ) == source_id) {
source_annotation[ source_id ] = label;
diff --git a/scripts/ems/biconcor/Mismatch.h b/scripts/ems/biconcor/Mismatch.h
index f08fc282a..c0063d049 100644
--- a/scripts/ems/biconcor/Mismatch.h
+++ b/scripts/ems/biconcor/Mismatch.h
@@ -17,11 +17,11 @@ private:
Alignment *m_alignment;
INDEX m_sentence_id;
INDEX m_num_alignment_points;
- char m_source_length;
- char m_target_length;
+ int m_source_length;
+ int m_target_length;
INDEX m_source_position;
- char m_source_start;
- char m_source_end;
+ int m_source_start;
+ int m_source_end;
bool m_source_unaligned[ 256 ];
bool m_target_unaligned[ 256 ];
bool m_unaligned;
@@ -31,10 +31,10 @@ private:
void operator=(const Mismatch&);
public:
- Mismatch( SuffixArray *sa, TargetCorpus *tc, Alignment *a, INDEX sentence_id, INDEX position, char source_length, char target_length, char source_start, char source_end );
+ Mismatch( SuffixArray *sa, TargetCorpus *tc, Alignment *a, INDEX sentence_id, INDEX position, int source_length, int target_length, int source_start, int source_end );
~Mismatch();
bool Unaligned() const { return m_unaligned; }
void PrintClippedHTML(std::ostream* out, int width );
- void LabelSourceMatches( char *source_annotation, char *target_annotation, char source_id, char label );
+ void LabelSourceMatches(int *source_annotation, int *target_annotation, int source_id, int label );
};
diff --git a/scripts/ems/biconcor/PhrasePairCollection.cpp b/scripts/ems/biconcor/PhrasePairCollection.cpp
index 8b1138796..4574bbcc0 100644
--- a/scripts/ems/biconcor/PhrasePairCollection.cpp
+++ b/scripts/ems/biconcor/PhrasePairCollection.cpp
@@ -50,16 +50,16 @@ bool PhrasePairCollection::GetCollection( const vector< string >& sourceString )
<< ", starting at word " << source_start
<< " of " << sentence_length
<< ". target sentence has " << target_length << " words.";
- char target_start, target_end, pre_null, post_null;
+ int target_start, target_end, pre_null, post_null;
if (m_alignment->PhraseAlignment( sentence_id, target_length, source_start, source_end, target_start, target_end, pre_null, post_null)) {
cerr << " aligned to [" << (int)target_start << "," << (int)target_end << "]";
cerr << " +(" << (int)pre_null << "," << (int)post_null << ")";
bool null_boundary_words = false;
- for( char pre = 0; pre <= pre_null && (pre==0||null_boundary_words); pre++ ) {
- for( char post = 0; post <= post_null && (post==0||null_boundary_words); post++ ) {
+ for (int pre = 0; pre <= pre_null && (pre == 0 || null_boundary_words); pre++ ) {
+ for (int post = 0; post <= post_null && (post == 0 || null_boundary_words); post++ ) {
vector< WORD_ID > targetString;
cerr << "; ";
- for( char target = target_start-pre; target <= target_end+post; target++ ) {
+ for (int target = target_start - pre; target <= target_end + post; target++) {
targetString.push_back( m_targetCorpus->GetWordId( sentence_id, target) );
cerr << m_targetCorpus->GetWord( sentence_id, target) << " ";
}
diff --git a/scripts/ems/biconcor/TargetCorpus.cpp b/scripts/ems/biconcor/TargetCorpus.cpp
index 9230cd673..d331a548a 100644
--- a/scripts/ems/biconcor/TargetCorpus.cpp
+++ b/scripts/ems/biconcor/TargetCorpus.cpp
@@ -97,12 +97,12 @@ WORD TargetCorpus::GetWordFromId( const WORD_ID id ) const
return m_vcb.GetWord( id );
}
-WORD TargetCorpus::GetWord( INDEX sentence, char word ) const
+WORD TargetCorpus::GetWord( INDEX sentence, int word ) const
{
return m_vcb.GetWord( GetWordId( sentence, word ) );
}
-WORD_ID TargetCorpus::GetWordId( INDEX sentence, char word ) const
+WORD_ID TargetCorpus::GetWordId( INDEX sentence, int word ) const
{
if (sentence == 0) {
return m_array[ word ];
diff --git a/scripts/ems/biconcor/TargetCorpus.h b/scripts/ems/biconcor/TargetCorpus.h
index 24b6a00ec..5a35356f9 100644
--- a/scripts/ems/biconcor/TargetCorpus.h
+++ b/scripts/ems/biconcor/TargetCorpus.h
@@ -24,8 +24,8 @@ public:
void Create(const std::string& fileName );
WORD GetWordFromId( const WORD_ID id ) const;
- WORD GetWord( INDEX sentence, char word ) const;
- WORD_ID GetWordId( INDEX sentence, char word ) const;
+ WORD GetWord( INDEX sentence, int word ) const;
+ WORD_ID GetWordId( INDEX sentence, int word ) const;
char GetSentenceLength( INDEX sentence ) const;
void Load(const std::string& fileName );
void Save(const std::string& fileName ) const;