[sword-svn] r52 - trunk/modules/mt-lxx-parallel

mgruner at crosswire.org mgruner at crosswire.org
Thu Nov 17 14:03:02 MST 2005


Author: mgruner
Date: 2005-11-17 14:03:01 -0700 (Thu, 17 Nov 2005)
New Revision: 52

Modified:
   trunk/modules/mt-lxx-parallel/convert.pl
Log:
OT except PS and DAN parses



Modified: trunk/modules/mt-lxx-parallel/convert.pl
===================================================================
--- trunk/modules/mt-lxx-parallel/convert.pl	2005-11-16 21:20:49 UTC (rev 51)
+++ trunk/modules/mt-lxx-parallel/convert.pl	2005-11-17 21:03:01 UTC (rev 52)
@@ -224,9 +224,13 @@
 "{t.}" => "Transliterated Hebrew word.", # TODO: unknown
 "<t?>" => "Transliterated Hebrew word.", # TODO: unknown
 "{t?}" => "Transliterated Hebrew word?",
+
 "{c}" => "Unknown.", # TODO: unknown
 "{c}?" => "Unknown.", # TODO: unknown
+"{z}" => "Unknown.", # TODO: unknown
 "<qla>" => "Unknown.", # TODO: unknown
+"#\"" => "Unknown.", # TODO: unknown
+".vs" => "Unknown.", # TODO: unknown, can hardly be a change of cons. Ezek 40:49
 
 
 "#" => "Long line continuing in next one, placed both at the end of the line running over and at the beginning of the following line in the opposite column.",
@@ -244,6 +248,7 @@
 "\%vpa" => "Change from passive to active form in verbs.",
 "=vpa" => "Change from passive to active form in verbs.",  # TODO: my addition, check
 "=\%p" => "Difference in preposition or particle.",
+"=p\%" => "Difference in preposition or particle.",
 "=\%p?" => "Difference in preposition or particle?",
 "=p" => "Difference in preposition or particle.", # TODO: my addition, check, uncertain?
 "={d}\%p" => "Difference in preposition or particle.", # TODO: my addition, check, uncertain? DOUBLET?
@@ -370,9 +375,6 @@
 	($origNote =~ m/^=?@([?$hebrewLetters]+)/) and
 		return( &createNote( $notes{ "=\@" } ) . &translateHebrewWordorNote( $1 ) );
 
-	($origNote =~ m/^={d}@([?$hebrewLetters]+)a/) and #special case ;)
-		return( &createNote( $notes{"{d}"} ." ". $notes{ "=\@a" } ) . &translateHebrewWordorNote( $1 ) );
-
 	($origNote =~ m/^=?\^([?$hebrewLetters]+)/) and
 		return( "^" . &translateHebrewWordorNote( $1 ) );   # TODO: check, what is ^?
 
@@ -390,9 +392,6 @@
 		elsif ($origNote =~ m/^=([?$hebrewLetters]+)/){
 			return( &translateHebrewWordorNote( $1 ) );
 		}
-		else { 
-			goto HANDLE_NOTE_FALLBACK; #try to split up the note
-		}
 	}
 
 	#special case: no note, but a crossref (no book ID)     # TODO: for now OSIS refs are not parsed
@@ -409,6 +408,9 @@
 	($origNote =~ m/^(.+),(.+)$/) and 	# 2 Notes / Words, split up, but only at the end
 		return( &translateHebrewWordorNote( $1 ). "," .&translateHebrewWordorNote( $2 ) );
 
+	($origNote =~ m/^={d}@([?$hebrewLetters]+)a/) and #special case ;)
+		return( &createNote( $notes{"{d}"} ." ". $notes{ "=\@a" } ) . &translateHebrewWordorNote( $1 ) );
+
 	HANDLE_NOTE_FALLBACK: for my $i ( 1..(length($origNote)-1) ){ #last try, split up into chunks
 		my $currentLength = length( $origNote ) - 1 - $i;    #start with the longest and become shorter, to find the complicated notes {!}p before the simple {!}
 		if ( $notes{ substr($origNote,0,$currentLength) } ){
@@ -479,6 +481,9 @@
 	($origNote =~ m/^=?{c(.+)}/) and 
 		return( &createNote("(".&translateGreekWordorNote( $1 ).") ". $notes{ "{c}" }) );	# TODO: occurs {cXXX}, not documented
 
+	($origNote =~ m/^=?{g(.+)}/) and 
+		return( &createNote("(".&translateGreekWordorNote( $1 ).") ". $notes{ "{g}" }) );
+
 	#Special cases: the note includes more than one word, "cat" the results together
 	($origNote =~ m/^=?{\.\.d([^}]+)$/) and 
 		return( &openNote( $notes{"{..d}"} . "(".&translateGreekWordorNote($1) ." " ) );
@@ -509,12 +514,14 @@
 	($origNote =~ m/^([^{]+)}\?$/) and 
 		return( &closeNote(&translateGreekWordorNote( $1 )."?)" ) );
 
+	($origNote =~ m/^(.+),(.+)$/) and 	# 2 Notes / Words, split up, but only at the end
+		return( &translateGreekWordorNote( $1 ). "," .&translateGreekWordorNote( $2 ) );
+
+	($origNote eq "}") and return $origNote;	#special case in EZEK 47:20, superfluous bracket
+
 	($origNote =~ m/^{([^}]+}?)$/) and # TODO: occurs, seems unreasonable
 		return( "(" .&translateGreekWordorNote($1) ." " );
 
-	($origNote =~ m/^(.+),(.+)$/) and 	# 2 Notes / Words, split up, but only at the end
-		return( &translateGreekWordorNote( $1 ). "," .&translateGreekWordorNote( $2 ) );
-
 	HANDLE_NOTE_FALLBACK: for my $i ( 1..(length($origNote)-1) ){ #last try, split up into chunks
 		my $currentLength = length( $origNote ) - 1 - $i;    #start with the longest and become shorter, to find the complicated notes {!}p before the simple {!}
 		if ( $notes{ substr($origNote,0,$currentLength) } ){
@@ -531,13 +538,14 @@
 
 # 	print("TranslateHebrew of: $hebrew\n");
 
+	$hebrew =~ s/^mn$/.mn/;	#Ezek 24:17, error?
+
+	( $notes{ $hebrew } ) and return &translateHebrewNote( $hebrew ); # exact match first
+
 	( $hebrew =~ m/^[^$hebrewLetters]/ ) and return &translateHebrewNote( $hebrew );
-
 	( $hebrew =~ m/^([$hebrewLetters]+)(\[.+\])/ ) and 
 		return &translateHebrewWordorNote( $1 ) . &translateHebrewNote( $2 );
-
 	( $hebrew =~ m/[}]$/ ) and return &translateHebrewNote( $hebrew );
-	( $notes{ $hebrew } ) and return &translateHebrewNote( $hebrew );
 
 	my $length = length($hebrew);
 	my $index = 0;
@@ -558,6 +566,8 @@
 
 	printf("TranslateGreek of $greek\n");
 
+	( $notes {$greek} ) and return &translateGreekNote( $greek ); # exact match first
+
 	( $greek =~ m/^[^$greekLetters]/ ) and return &translateGreekNote( $greek );
 	( $greek =~ m/[}]\??$/ ) and return &translateGreekNote( $greek );
 	( $greek eq "#" ) and return &translateGreekNote( "#" );
@@ -604,6 +614,8 @@
 	$origLine =~ s/{\.\.\^EPIQEI\\S\.\.\^E\)FI\/LHSA}/{..^EPIQEI\\S E)FI\/LHSA}/;# TODO: UGLY HACK, strange note
 	$origLine =~ s/E\t\)KPE\/SH\|/\tE)KPE\/SH|/; #occurs, tab misplaced
 
+	$origLine =~ s/^\(..r\(L\/YK}/{..r(L\/YK}/; # in EZEK
+
 	$origLine =~ m/^W\(\/SPER/ and return;	#ignore, probably an error
 
 	($origLine eq "W/)T H/GRG\$Y ^ =W/)T W/H/)MRY KAI\\ TO\\N AMORRAI=ON ") and 
@@ -829,6 +841,12 @@
 		elsif ($buffer[$index] =~ m/^ISA/){	# a few lines in ISAIAH have this in different styles
 			$result[$#result-1] .= $buffer[$index]; # no space
 		}
+		elsif ($buffer[$index] =~ m/^LAMYAN/){	# in LAM
+			$result[$#result-1] .= $buffer[$index]; # no space
+		}
+		elsif ($buffer[$index] =~ m/^EZEKIHL/){	# in LAM
+			$result[$#result-1] .= $buffer[$index]; # no space
+		}
 		else{
 			push(@result, $buffer[$index] );
 		}
@@ -864,16 +882,15 @@
 #  #This might need special handling
 #  #push(@result, &processBook("Psalms.par", "Ps", "Ps", "Ps", "Psalms",
 #  
-#push(@result, &processBook("23.Prov.par", "Prov", "Prov", "Prov", "Proverbs") );
+# push(@result, &processBook("23.Prov.par", "Prov", "Prov", "Prov", "Proverbs") );
 # push(@result, &processBook("24.Qoh.par", "Qoh", "Eccl", "Eccl", "Ecclesiastes") );
 # push(@result, &processBook("25.Cant.par", "Song", "Song", "Song", "Song of Solomon") );
- push(@result, &processBook("40.Isaiah.par", "Isa", "Isa", "Isa", "Isaiah") );
+# push(@result, &processBook("40.Isaiah.par", "Isa", "Isa", "Isa", "Isaiah") );
 # push(@result, &processBook("41.Jer.par", "Jer", "Jer", "Jer", "Jeremiah") );
 # push(@result, &processBook("43.Lam.par", "Lam", "Lam", "Lam", "Lamentations") );
 # push(@result, &processBook("44.Ezekiel.par", "Ezek", "Ezek", "Ezek", "Ezekiel") );
 # 
-# my @danielTmp = &processBookVariant("45.DanielOG.par", "Dan", "Old Greek:", "46.DanielTh.par", "DanTh", "Theodotion:", "Dan", "Dan", "Daniel");
-# push(@result, &fixDaniel( @danielTmp ) );
+ push(@result, &processBookVariant("45.DanielOG.par", "Dan", "Old Greek:", "46.DanielTh.par", "DanTh", "Theodotion:", "Dan", "Dan", "Daniel"));
 # 
 # push(@result, &processBook("28.Hosea.par", "Hos", "Hos", "Hos", "Hosea") );
 # push(@result, &processBook("31.Joel.par", "Joel", "Joel", "Joel", "Joel") );



More information about the sword-cvs mailing list