Skip to content
This repository
Browse code

Merged branches/lattice changes r12:13 into trunk.

git-svn-id: https://joshua.svn.sf.net/svnroot/joshua/trunk@14 0ae5e6b2-d358-4f09-a895-f82f13dd62a4
  • Loading branch information...
commit e7e2bce7f59b22191797b410418a29847c9280bf 1 parent 474685d
dowobeha authored

Showing 66 changed files with 1,995 additions and 1,402 deletions. Show diff stats Hide diff stats

  1. +503 0 COPYING
  2. +1 0  build.xml
  3. +17 11 src/edu/jhu/joshua/corpus/Corpus.java
  4. +17 11 src/edu/jhu/joshua/corpus/ParallelCorpus.java
  5. +17 11 src/edu/jhu/joshua/corpus/SuffixArrayParallelCorpus.java
  6. +17 11 src/edu/jhu/joshua/corpus/TranslationResultsSet.java
  7. +23 9 src/edu/jhu/joshua/decoder/Decoder.java
  8. +20 1 src/edu/jhu/joshua/decoder/Support.java
  9. +24 13 src/edu/jhu/joshua/decoder/Symbol.java
  10. +22 10 src/edu/jhu/joshua/decoder/chart_parser/Bin.java
  11. +29 15 src/edu/jhu/joshua/decoder/chart_parser/Chart.java
  12. +23 10 src/edu/jhu/joshua/decoder/chart_parser/DotChart.java
  13. +22 8 src/edu/jhu/joshua/decoder/feature_function/Model.java
  14. +20 1 src/edu/jhu/joshua/decoder/feature_function/language_model/LMClient.java
  15. +21 5 src/edu/jhu/joshua/decoder/feature_function/language_model/LMClient_MultiServer.java
  16. +21 6 src/edu/jhu/joshua/decoder/feature_function/language_model/LMClient_Single.java
  17. +21 6 src/edu/jhu/joshua/decoder/feature_function/language_model/LMGrammar.java
  18. +369 241 src/edu/jhu/joshua/decoder/feature_function/language_model/LMGrammar_JAVA.java
  19. +0 666 src/edu/jhu/joshua/decoder/feature_function/language_model/LMGrammar_JAVA_GENERAL.java
  20. +21 9 src/edu/jhu/joshua/decoder/feature_function/language_model/LMGrammar_REMOTE.java
  21. +21 7 src/edu/jhu/joshua/decoder/feature_function/language_model/LMModel.java
  22. +22 7 src/edu/jhu/joshua/decoder/feature_function/language_model/LMServer.java
  23. +22 5 src/edu/jhu/joshua/decoder/feature_function/language_model/srilm/LMGrammar_SRILM.java
  24. +22 6 src/edu/jhu/joshua/decoder/feature_function/translation_model/TMGrammar.java
  25. +23 6 src/edu/jhu/joshua/decoder/feature_function/translation_model/TMGrammar_Disk.java
  26. +24 12 src/edu/jhu/joshua/decoder/feature_function/translation_model/TMGrammar_Memory.java
  27. +21 8 src/edu/jhu/joshua/decoder/hypergraph/DiskHyperGraph.java
  28. +23 10 src/edu/jhu/joshua/decoder/hypergraph/HyperGraph.java
  29. +20 7 src/edu/jhu/joshua/decoder/hypergraph/HyperGraphPruning.java
  30. +22 6 src/edu/jhu/joshua/decoder/hypergraph/InsideOutside.java
  31. +26 14 src/edu/jhu/joshua/decoder/hypergraph/KbestExtraction.java
  32. +1 1  src/edu/jhu/joshua/lattice/Arc.java
  33. +1 1  src/edu/jhu/joshua/lattice/Lattice.java
  34. +1 1  src/edu/jhu/joshua/lattice/Node.java
  35. +24 8 src/edu/jhu/lzfUtility/Alignment.java
  36. +22 7 src/edu/jhu/lzfUtility/FileUtility.java
  37. +21 5 src/edu/jhu/lzfUtility/ReorderRule.java
  38. +22 5 src/edu/jhu/lzfUtility/SocketUtility.java
  39. +21 6 src/edu/jhu/lzfUtility/Tree.java
  40. +21 4 src/edu/jhu/phraseExtraction/HieroExtractor.java
  41. +21 0 src/edu/jhu/phraseExtraction/HieroGrammarScorer_Hashtable.java
  42. +22 7 src/edu/jhu/phraseExtraction/HieroGrammarScorer_Trie.java
  43. +21 5 src/edu/jhu/phraseExtraction/RuleExtraction.java
  44. +17 11 src/edu/jhu/util/Counts.java
  45. +17 11 src/edu/jhu/util/FileUtil.java
  46. +17 11 src/edu/jhu/util/ValueComparator.java
  47. +17 11 src/edu/jhu/util/math/Probability.java
  48. +17 11 src/edu/jhu/util/sentence/Alignment.java
  49. +17 10 src/edu/jhu/util/sentence/Coordinate.java
  50. +17 10 src/edu/jhu/util/sentence/Grid.java
  51. +17 11 src/edu/jhu/util/sentence/Grids.java
  52. +17 10 src/edu/jhu/util/sentence/MaskedGrid.java
  53. +17 11 src/edu/jhu/util/sentence/Phrase.java
  54. +17 10 src/edu/jhu/util/sentence/PhraseExtractor.java
  55. +17 12 src/edu/jhu/util/sentence/Span.java
  56. +17 11 src/edu/jhu/util/sentence/Vocabulary.java
  57. +17 11 src/edu/jhu/util/sentence/Word.java
  58. +17 11 src/edu/jhu/util/sentence/phrase_extraction/BoundingBox.java
  59. +17 11 src/edu/jhu/util/sentence/phrase_extraction/Consistent.java
  60. +17 11 src/edu/jhu/util/sentence/phrase_extraction/ConstrainedConsistent.java
  61. +17 11 src/edu/jhu/util/suffix_array/CorpusArray.java
  62. +17 11 src/edu/jhu/util/suffix_array/SuffixArray.java
  63. +17 11 src/edu/jhu/util/suffix_array/SuffixArrayFactory.java
  64. +1 1  test/edu/jhu/joshua/lattice/ArcTest.java
  65. +1 1  test/edu/jhu/joshua/lattice/LatticeTest.java
  66. +1 1  test/edu/jhu/joshua/lattice/NodeTest.java
503 COPYING
... ... @@ -0,0 +1,503 @@
  1 + GNU LESSER GENERAL PUBLIC LICENSE
  2 + Version 2.1, February 1999
  3 +
  4 + Copyright (C) 1991, 1999 Free Software Foundation, Inc.
  5 + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  6 + Everyone is permitted to copy and distribute verbatim copies
  7 + of this license document, but changing it is not allowed.
  8 +
  9 +[This is the first released version of the Lesser GPL. It also counts
  10 + as the successor of the GNU Library Public License, version 2, hence
  11 + the version number 2.1.]
  12 +
  13 + Preamble
  14 +
  15 + The licenses for most software are designed to take away your
  16 +freedom to share and change it. By contrast, the GNU General Public
  17 +Licenses are intended to guarantee your freedom to share and change
  18 +free software--to make sure the software is free for all its users.
  19 +
  20 + This license, the Lesser General Public License, applies to some
  21 +specially designated software packages--typically libraries--of the
  22 +Free Software Foundation and other authors who decide to use it. You
  23 +can use it too, but we suggest you first think carefully about whether
  24 +this license or the ordinary General Public License is the better
  25 +strategy to use in any particular case, based on the explanations below.
  26 +
  27 + When we speak of free software, we are referring to freedom of use,
  28 +not price. Our General Public Licenses are designed to make sure that
  29 +you have the freedom to distribute copies of free software (and charge
  30 +for this service if you wish); that you receive source code or can get
  31 +it if you want it; that you can change the software and use pieces of
  32 +it in new free programs; and that you are informed that you can do
  33 +these things.
  34 +
  35 + To protect your rights, we need to make restrictions that forbid
  36 +distributors to deny you these rights or to ask you to surrender these
  37 +rights. These restrictions translate to certain responsibilities for
  38 +you if you distribute copies of the library or if you modify it.
  39 +
  40 + For example, if you distribute copies of the library, whether gratis
  41 +or for a fee, you must give the recipients all the rights that we gave
  42 +you. You must make sure that they, too, receive or can get the source
  43 +code. If you link other code with the library, you must provide
  44 +complete object files to the recipients, so that they can relink them
  45 +with the library after making changes to the library and recompiling
  46 +it. And you must show them these terms so they know their rights.
  47 +
  48 + We protect your rights with a two-step method: (1) we copyright the
  49 +library, and (2) we offer you this license, which gives you legal
  50 +permission to copy, distribute and/or modify the library.
  51 +
  52 + To protect each distributor, we want to make it very clear that
  53 +there is no warranty for the free library. Also, if the library is
  54 +modified by someone else and passed on, the recipients should know
  55 +that what they have is not the original version, so that the original
  56 +author's reputation will not be affected by problems that might be
  57 +introduced by others.
  58 +
  59 + Finally, software patents pose a constant threat to the existence of
  60 +any free program. We wish to make sure that a company cannot
  61 +effectively restrict the users of a free program by obtaining a
  62 +restrictive license from a patent holder. Therefore, we insist that
  63 +any patent license obtained for a version of the library must be
  64 +consistent with the full freedom of use specified in this license.
  65 +
  66 + Most GNU software, including some libraries, is covered by the
  67 +ordinary GNU General Public License. This license, the GNU Lesser
  68 +General Public License, applies to certain designated libraries, and
  69 +is quite different from the ordinary General Public License. We use
  70 +this license for certain libraries in order to permit linking those
  71 +libraries into non-free programs.
  72 +
  73 + When a program is linked with a library, whether statically or using
  74 +a shared library, the combination of the two is legally speaking a
  75 +combined work, a derivative of the original library. The ordinary
  76 +General Public License therefore permits such linking only if the
  77 +entire combination fits its criteria of freedom. The Lesser General
  78 +Public License permits more lax criteria for linking other code with
  79 +the library.
  80 +
  81 + We call this license the "Lesser" General Public License because it
  82 +does Less to protect the user's freedom than the ordinary General
  83 +Public License. It also provides other free software developers Less
  84 +of an advantage over competing non-free programs. These disadvantages
  85 +are the reason we use the ordinary General Public License for many
  86 +libraries. However, the Lesser license provides advantages in certain
  87 +special circumstances.
  88 +
  89 + For example, on rare occasions, there may be a special need to
  90 +encourage the widest possible use of a certain library, so that it becomes
  91 +a de-facto standard. To achieve this, non-free programs must be
  92 +allowed to use the library. A more frequent case is that a free
  93 +library does the same job as widely used non-free libraries. In this
  94 +case, there is little to gain by limiting the free library to free
  95 +software only, so we use the Lesser General Public License.
  96 +
  97 + In other cases, permission to use a particular library in non-free
  98 +programs enables a greater number of people to use a large body of
  99 +free software. For example, permission to use the GNU C Library in
  100 +non-free programs enables many more people to use the whole GNU
  101 +operating system, as well as its variant, the GNU/Linux operating
  102 +system.
  103 +
  104 + Although the Lesser General Public License is Less protective of the
  105 +users' freedom, it does ensure that the user of a program that is
  106 +linked with the Library has the freedom and the wherewithal to run
  107 +that program using a modified version of the Library.
  108 +
  109 + The precise terms and conditions for copying, distribution and
  110 +modification follow. Pay close attention to the difference between a
  111 +"work based on the library" and a "work that uses the library". The
  112 +former contains code derived from the library, whereas the latter must
  113 +be combined with the library in order to run.
  114 +
  115 + GNU LESSER GENERAL PUBLIC LICENSE
  116 + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
  117 +
  118 + 0. This License Agreement applies to any software library or other
  119 +program which contains a notice placed by the copyright holder or
  120 +other authorized party saying it may be distributed under the terms of
  121 +this Lesser General Public License (also called "this License").
  122 +Each licensee is addressed as "you".
  123 +
  124 + A "library" means a collection of software functions and/or data
  125 +prepared so as to be conveniently linked with application programs
  126 +(which use some of those functions and data) to form executables.
  127 +
  128 + The "Library", below, refers to any such software library or work
  129 +which has been distributed under these terms. A "work based on the
  130 +Library" means either the Library or any derivative work under
  131 +copyright law: that is to say, a work containing the Library or a
  132 +portion of it, either verbatim or with modifications and/or translated
  133 +straightforwardly into another language. (Hereinafter, translation is
  134 +included without limitation in the term "modification".)
  135 +
  136 + "Source code" for a work means the preferred form of the work for
  137 +making modifications to it. For a library, complete source code means
  138 +all the source code for all modules it contains, plus any associated
  139 +interface definition files, plus the scripts used to control compilation
  140 +and installation of the library.
  141 +
  142 + Activities other than copying, distribution and modification are not
  143 +covered by this License; they are outside its scope. The act of
  144 +running a program using the Library is not restricted, and output from
  145 +such a program is covered only if its contents constitute a work based
  146 +on the Library (independent of the use of the Library in a tool for
  147 +writing it). Whether that is true depends on what the Library does
  148 +and what the program that uses the Library does.
  149 +
  150 + 1. You may copy and distribute verbatim copies of the Library's
  151 +complete source code as you receive it, in any medium, provided that
  152 +you conspicuously and appropriately publish on each copy an
  153 +appropriate copyright notice and disclaimer of warranty; keep intact
  154 +all the notices that refer to this License and to the absence of any
  155 +warranty; and distribute a copy of this License along with the
  156 +Library.
  157 +
  158 + You may charge a fee for the physical act of transferring a copy,
  159 +and you may at your option offer warranty protection in exchange for a
  160 +fee.
  161 +
  162 + 2. You may modify your copy or copies of the Library or any portion
  163 +of it, thus forming a work based on the Library, and copy and
  164 +distribute such modifications or work under the terms of Section 1
  165 +above, provided that you also meet all of these conditions:
  166 +
  167 + a) The modified work must itself be a software library.
  168 +
  169 + b) You must cause the files modified to carry prominent notices
  170 + stating that you changed the files and the date of any change.
  171 +
  172 + c) You must cause the whole of the work to be licensed at no
  173 + charge to all third parties under the terms of this License.
  174 +
  175 + d) If a facility in the modified Library refers to a function or a
  176 + table of data to be supplied by an application program that uses
  177 + the facility, other than as an argument passed when the facility
  178 + is invoked, then you must make a good faith effort to ensure that,
  179 + in the event an application does not supply such function or
  180 + table, the facility still operates, and performs whatever part of
  181 + its purpose remains meaningful.
  182 +
  183 + (For example, a function in a library to compute square roots has
  184 + a purpose that is entirely well-defined independent of the
  185 + application. Therefore, Subsection 2d requires that any
  186 + application-supplied function or table used by this function must
  187 + be optional: if the application does not supply it, the square
  188 + root function must still compute square roots.)
  189 +
  190 +These requirements apply to the modified work as a whole. If
  191 +identifiable sections of that work are not derived from the Library,
  192 +and can be reasonably considered independent and separate works in
  193 +themselves, then this License, and its terms, do not apply to those
  194 +sections when you distribute them as separate works. But when you
  195 +distribute the same sections as part of a whole which is a work based
  196 +on the Library, the distribution of the whole must be on the terms of
  197 +this License, whose permissions for other licensees extend to the
  198 +entire whole, and thus to each and every part regardless of who wrote
  199 +it.
  200 +
  201 +Thus, it is not the intent of this section to claim rights or contest
  202 +your rights to work written entirely by you; rather, the intent is to
  203 +exercise the right to control the distribution of derivative or
  204 +collective works based on the Library.
  205 +
  206 +In addition, mere aggregation of another work not based on the Library
  207 +with the Library (or with a work based on the Library) on a volume of
  208 +a storage or distribution medium does not bring the other work under
  209 +the scope of this License.
  210 +
  211 + 3. You may opt to apply the terms of the ordinary GNU General Public
  212 +License instead of this License to a given copy of the Library. To do
  213 +this, you must alter all the notices that refer to this License, so
  214 +that they refer to the ordinary GNU General Public License, version 2,
  215 +instead of to this License. (If a newer version than version 2 of the
  216 +ordinary GNU General Public License has appeared, then you can specify
  217 +that version instead if you wish.) Do not make any other change in
  218 +these notices.
  219 +
  220 + Once this change is made in a given copy, it is irreversible for
  221 +that copy, so the ordinary GNU General Public License applies to all
  222 +subsequent copies and derivative works made from that copy.
  223 +
  224 + This option is useful when you wish to copy part of the code of
  225 +the Library into a program that is not a library.
  226 +
  227 + 4. You may copy and distribute the Library (or a portion or
  228 +derivative of it, under Section 2) in object code or executable form
  229 +under the terms of Sections 1 and 2 above provided that you accompany
  230 +it with the complete corresponding machine-readable source code, which
  231 +must be distributed under the terms of Sections 1 and 2 above on a
  232 +medium customarily used for software interchange.
  233 +
  234 + If distribution of object code is made by offering access to copy
  235 +from a designated place, then offering equivalent access to copy the
  236 +source code from the same place satisfies the requirement to
  237 +distribute the source code, even though third parties are not
  238 +compelled to copy the source along with the object code.
  239 +
  240 + 5. A program that contains no derivative of any portion of the
  241 +Library, but is designed to work with the Library by being compiled or
  242 +linked with it, is called a "work that uses the Library". Such a
  243 +work, in isolation, is not a derivative work of the Library, and
  244 +therefore falls outside the scope of this License.
  245 +
  246 + However, linking a "work that uses the Library" with the Library
  247 +creates an executable that is a derivative of the Library (because it
  248 +contains portions of the Library), rather than a "work that uses the
  249 +library". The executable is therefore covered by this License.
  250 +Section 6 states terms for distribution of such executables.
  251 +
  252 + When a "work that uses the Library" uses material from a header file
  253 +that is part of the Library, the object code for the work may be a
  254 +derivative work of the Library even though the source code is not.
  255 +Whether this is true is especially significant if the work can be
  256 +linked without the Library, or if the work is itself a library. The
  257 +threshold for this to be true is not precisely defined by law.
  258 +
  259 + If such an object file uses only numerical parameters, data
  260 +structure layouts and accessors, and small macros and small inline
  261 +functions (ten lines or less in length), then the use of the object
  262 +file is unrestricted, regardless of whether it is legally a derivative
  263 +work. (Executables containing this object code plus portions of the
  264 +Library will still fall under Section 6.)
  265 +
  266 + Otherwise, if the work is a derivative of the Library, you may
  267 +distribute the object code for the work under the terms of Section 6.
  268 +Any executables containing that work also fall under Section 6,
  269 +whether or not they are linked directly with the Library itself.
  270 +
  271 + 6. As an exception to the Sections above, you may also combine or
  272 +link a "work that uses the Library" with the Library to produce a
  273 +work containing portions of the Library, and distribute that work
  274 +under terms of your choice, provided that the terms permit
  275 +modification of the work for the customer's own use and reverse
  276 +engineering for debugging such modifications.
  277 +
  278 + You must give prominent notice with each copy of the work that the
  279 +Library is used in it and that the Library and its use are covered by
  280 +this License. You must supply a copy of this License. If the work
  281 +during execution displays copyright notices, you must include the
  282 +copyright notice for the Library among them, as well as a reference
  283 +directing the user to the copy of this License. Also, you must do one
  284 +of these things:
  285 +
  286 + a) Accompany the work with the complete corresponding
  287 + machine-readable source code for the Library including whatever
  288 + changes were used in the work (which must be distributed under
  289 + Sections 1 and 2 above); and, if the work is an executable linked
  290 + with the Library, with the complete machine-readable "work that
  291 + uses the Library", as object code and/or source code, so that the
  292 + user can modify the Library and then relink to produce a modified
  293 + executable containing the modified Library. (It is understood
  294 + that the user who changes the contents of definitions files in the
  295 + Library will not necessarily be able to recompile the application
  296 + to use the modified definitions.)
  297 +
  298 + b) Use a suitable shared library mechanism for linking with the
  299 + Library. A suitable mechanism is one that (1) uses at run time a
  300 + copy of the library already present on the user's computer system,
  301 + rather than copying library functions into the executable, and (2)
  302 + will operate properly with a modified version of the library, if
  303 + the user installs one, as long as the modified version is
  304 + interface-compatible with the version that the work was made with.
  305 +
  306 + c) Accompany the work with a written offer, valid for at
  307 + least three years, to give the same user the materials
  308 + specified in Subsection 6a, above, for a charge no more
  309 + than the cost of performing this distribution.
  310 +
  311 + d) If distribution of the work is made by offering access to copy
  312 + from a designated place, offer equivalent access to copy the above
  313 + specified materials from the same place.
  314 +
  315 + e) Verify that the user has already received a copy of these
  316 + materials or that you have already sent this user a copy.
  317 +
  318 + For an executable, the required form of the "work that uses the
  319 +Library" must include any data and utility programs needed for
  320 +reproducing the executable from it. However, as a special exception,
  321 +the materials to be distributed need not include anything that is
  322 +normally distributed (in either source or binary form) with the major
  323 +components (compiler, kernel, and so on) of the operating system on
  324 +which the executable runs, unless that component itself accompanies
  325 +the executable.
  326 +
  327 + It may happen that this requirement contradicts the license
  328 +restrictions of other proprietary libraries that do not normally
  329 +accompany the operating system. Such a contradiction means you cannot
  330 +use both them and the Library together in an executable that you
  331 +distribute.
  332 +
  333 + 7. You may place library facilities that are a work based on the
  334 +Library side-by-side in a single library together with other library
  335 +facilities not covered by this License, and distribute such a combined
  336 +library, provided that the separate distribution of the work based on
  337 +the Library and of the other library facilities is otherwise
  338 +permitted, and provided that you do these two things:
  339 +
  340 + a) Accompany the combined library with a copy of the same work
  341 + based on the Library, uncombined with any other library
  342 + facilities. This must be distributed under the terms of the
  343 + Sections above.
  344 +
  345 + b) Give prominent notice with the combined library of the fact
  346 + that part of it is a work based on the Library, and explaining
  347 + where to find the accompanying uncombined form of the same work.
  348 +
  349 + 8. You may not copy, modify, sublicense, link with, or distribute
  350 +the Library except as expressly provided under this License. Any
  351 +attempt otherwise to copy, modify, sublicense, link with, or
  352 +distribute the Library is void, and will automatically terminate your
  353 +rights under this License. However, parties who have received copies,
  354 +or rights, from you under this License will not have their licenses
  355 +terminated so long as such parties remain in full compliance.
  356 +
  357 + 9. You are not required to accept this License, since you have not
  358 +signed it. However, nothing else grants you permission to modify or
  359 +distribute the Library or its derivative works. These actions are
  360 +prohibited by law if you do not accept this License. Therefore, by
  361 +modifying or distributing the Library (or any work based on the
  362 +Library), you indicate your acceptance of this License to do so, and
  363 +all its terms and conditions for copying, distributing or modifying
  364 +the Library or works based on it.
  365 +
  366 + 10. Each time you redistribute the Library (or any work based on the
  367 +Library), the recipient automatically receives a license from the
  368 +original licensor to copy, distribute, link with or modify the Library
  369 +subject to these terms and conditions. You may not impose any further
  370 +restrictions on the recipients' exercise of the rights granted herein.
  371 +You are not responsible for enforcing compliance by third parties with
  372 +this License.
  373 +
  374 + 11. If, as a consequence of a court judgment or allegation of patent
  375 +infringement or for any other reason (not limited to patent issues),
  376 +conditions are imposed on you (whether by court order, agreement or
  377 +otherwise) that contradict the conditions of this License, they do not
  378 +excuse you from the conditions of this License. If you cannot
  379 +distribute so as to satisfy simultaneously your obligations under this
  380 +License and any other pertinent obligations, then as a consequence you
  381 +may not distribute the Library at all. For example, if a patent
  382 +license would not permit royalty-free redistribution of the Library by
  383 +all those who receive copies directly or indirectly through you, then
  384 +the only way you could satisfy both it and this License would be to
  385 +refrain entirely from distribution of the Library.
  386 +
  387 +If any portion of this section is held invalid or unenforceable under any
  388 +particular circumstance, the balance of the section is intended to apply,
  389 +and the section as a whole is intended to apply in other circumstances.
  390 +
  391 +It is not the purpose of this section to induce you to infringe any
  392 +patents or other property right claims or to contest validity of any
  393 +such claims; this section has the sole purpose of protecting the
  394 +integrity of the free software distribution system which is
  395 +implemented by public license practices. Many people have made
  396 +generous contributions to the wide range of software distributed
  397 +through that system in reliance on consistent application of that
  398 +system; it is up to the author/donor to decide if he or she is willing
  399 +to distribute software through any other system and a licensee cannot
  400 +impose that choice.
  401 +
  402 +This section is intended to make thoroughly clear what is believed to
  403 +be a consequence of the rest of this License.
  404 +
  405 + 12. If the distribution and/or use of the Library is restricted in
  406 +certain countries either by patents or by copyrighted interfaces, the
  407 +original copyright holder who places the Library under this License may add
  408 +an explicit geographical distribution limitation excluding those countries,
  409 +so that distribution is permitted only in or among countries not thus
  410 +excluded. In such case, this License incorporates the limitation as if
  411 +written in the body of this License.
  412 +
  413 + 13. The Free Software Foundation may publish revised and/or new
  414 +versions of the Lesser General Public License from time to time.
  415 +Such new versions will be similar in spirit to the present version,
  416 +but may differ in detail to address new problems or concerns.
  417 +
  418 +Each version is given a distinguishing version number. If the Library
  419 +specifies a version number of this License which applies to it and
  420 +"any later version", you have the option of following the terms and
  421 +conditions either of that version or of any later version published by
  422 +the Free Software Foundation. If the Library does not specify a
  423 +license version number, you may choose any version ever published by
  424 +the Free Software Foundation.
  425 +
  426 + 14. If you wish to incorporate parts of the Library into other free
  427 +programs whose distribution conditions are incompatible with these,
  428 +write to the author to ask for permission. For software which is
  429 +copyrighted by the Free Software Foundation, write to the Free
  430 +Software Foundation; we sometimes make exceptions for this. Our
  431 +decision will be guided by the two goals of preserving the free status
  432 +of all derivatives of our free software and of promoting the sharing
  433 +and reuse of software generally.
  434 +
  435 + NO WARRANTY
  436 +
  437 + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
  438 +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
  439 +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
  440 +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
  441 +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
  442 +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  443 +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
  444 +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
  445 +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
  446 +
  447 + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
  448 +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
  449 +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
  450 +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
  451 +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
  452 +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
  453 +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
  454 +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
  455 +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
  456 +DAMAGES.
  457 +
  458 + END OF TERMS AND CONDITIONS
  459 +
  460 + How to Apply These Terms to Your New Libraries
  461 +
  462 + If you develop a new library, and you want it to be of the greatest
  463 +possible use to the public, we recommend making it free software that
  464 +everyone can redistribute and change. You can do so by permitting
  465 +redistribution under these terms (or, alternatively, under the terms of the
  466 +ordinary General Public License).
  467 +
  468 + To apply these terms, attach the following notices to the library. It is
  469 +safest to attach them to the start of each source file to most effectively
  470 +convey the exclusion of warranty; and each file should have at least the
  471 +"copyright" line and a pointer to where the full notice is found.
  472 +
  473 + <one line to give the library's name and a brief idea of what it does.>
  474 + Copyright (C) <year> <name of author>
  475 +
  476 + This library is free software; you can redistribute it and/or
  477 + modify it under the terms of the GNU Lesser General Public
  478 + License as published by the Free Software Foundation; either
  479 + version 2.1 of the License, or (at your option) any later version.
  480 +
  481 + This library is distributed in the hope that it will be useful,
  482 + but WITHOUT ANY WARRANTY; without even the implied warranty of
  483 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  484 + Lesser General Public License for more details.
  485 +
  486 + You should have received a copy of the GNU Lesser General Public
  487 + License along with this library; if not, write to the Free Software
  488 + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  489 +
  490 +Also add information on how to contact you by electronic and paper mail.
  491 +
  492 +You should also get your employer (if you work as a programmer) or your
  493 +school, if any, to sign a "copyright disclaimer" for the library, if
  494 +necessary. Here is a sample; alter the names:
  495 +
  496 + Yoyodyne, Inc., hereby disclaims all copyright interest in the
  497 + library `Frob' (a library for tweaking knobs) written by James Random Hacker.
  498 +
  499 + <signature of Ty Coon>, 1 April 1990
  500 + Ty Coon, President of Vice
  501 +
  502 +That's all there is to it!
  503 +
1  build.xml
... ... @@ -1,4 +1,5 @@
1 1 <?xml version="1.0"?>
  2 +<!-- Build file for Joshua. Last changed: $LastChangedDate$ -->
2 3 <project name="JHU Decoder" default="compile" basedir=".">
3 4
4 5 <property name="src" value="./src" />
28 src/edu/jhu/joshua/corpus/Corpus.java
... ... @@ -1,3 +1,19 @@
  1 +/* This file is part of the Joshua Machine Translation System.
  2 + *
  3 + * Joshua is free software; you can redistribute it and/or modify it
  4 + * under the terms of the GNU Lesser General Public License as published by
  5 + * the Free Software Foundation; either version 2.1 of the License, or
  6 + * (at your option) any later version.
  7 + *
  8 + * This library is distributed in the hope that it will be useful, but
  9 + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  10 + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
  11 + * License for more details.
  12 + *
  13 + * You should have received a copy of the GNU Lesser General Public License
  14 + * along with this library; if not, write to the Free Software Foundation,
  15 + * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  16 + */
1 17 package edu.jhu.joshua.corpus;
2 18
3 19 // Imports
@@ -10,18 +26,8 @@
10 26 *
11 27 * @author Chris Callison-Burch
12 28 * @since 7 February 2005
13   - *
14   - * The contents of this file are subject to the Linear B Community Research
15   - * License Version 1.0 (the "License"). You may not use this file except in
16   - * compliance with the License. You may obtain a copy of the License at
17   - * http://www.linearb.co.uk/developer/. Software distributed under the License
18   - * is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
19   - * express or implied. See the License for the specific language governing
20   - * rights and limitations under the License.
21   - *
22   - * Copyright (c) 2005 Linear B Ltd. All rights reserved.
  29 + * @version $LastChangedDate$
23 30 */
24   -
25 31 public interface Corpus {
26 32
27 33 //===============================================================
28 src/edu/jhu/joshua/corpus/ParallelCorpus.java
... ... @@ -1,3 +1,19 @@
  1 +/* This file is part of the Joshua Machine Translation System.
  2 + *
  3 + * Joshua is free software; you can redistribute it and/or modify it
  4 + * under the terms of the GNU Lesser General Public License as published by
  5 + * the Free Software Foundation; either version 2.1 of the License, or
  6 + * (at your option) any later version.
  7 + *
  8 + * This library is distributed in the hope that it will be useful, but
  9 + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  10 + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
  11 + * License for more details.
  12 + *
  13 + * You should have received a copy of the GNU Lesser General Public License
  14 + * along with this library; if not, write to the Free Software Foundation,
  15 + * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  16 + */
1 17 package edu.jhu.joshua.corpus;
2 18
3 19 // Imports
@@ -9,18 +25,8 @@
9 25 *
10 26 * @author Chris Callison-Burch
11 27 * @since 7 February 2005
12   - *
13   - * The contents of this file are subject to the Linear B Community Research
14   - * License Version 1.0 (the "License"). You may not use this file except in
15   - * compliance with the License. You may obtain a copy of the License at
16   - * http://www.linearb.co.uk/developer/. Software distributed under the License
17   - * is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
18   - * express or implied. See the License for the specific language governing
19   - * rights and limitations under the License.
20   - *
21   - * Copyright (c) 2005 Linear B Ltd. All rights reserved.
  28 + * @version $LastChangedDate$
22 29 */
23   -
24 30 public interface ParallelCorpus {
25 31
26 32 //===============================================================
28 src/edu/jhu/joshua/corpus/SuffixArrayParallelCorpus.java
... ... @@ -1,3 +1,19 @@
  1 +/* This file is part of the Joshua Machine Translation System.
  2 + *
  3 + * Joshua is free software; you can redistribute it and/or modify it
  4 + * under the terms of the GNU Lesser General Public License as published by
  5 + * the Free Software Foundation; either version 2.1 of the License, or
  6 + * (at your option) any later version.
  7 + *
  8 + * This library is distributed in the hope that it will be useful, but
  9 + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  10 + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
  11 + * License for more details.
  12 + *
  13 + * You should have received a copy of the GNU Lesser General Public License
  14 + * along with this library; if not, write to the Free Software Foundation,
  15 + * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  16 + */
1 17 package edu.jhu.joshua.corpus;
2 18
3 19 // Imports
@@ -14,17 +30,7 @@
14 30 * ParallelCorpus interface using suffix arrays.
15 31 *
16 32 * @author Chris Callison-Burch
17   - * @since 13 February 2005
18   - *
19   - * The contents of this file are subject to the Linear B Community Research
20   - * License Version 1.0 (the "License"). You may not use this file except in
21   - * compliance with the License. You may obtain a copy of the License at
22   - * http://www.linearb.co.uk/developer/. Software distributed under the License
23   - * is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
24   - * express or implied. See the License for the specific language governing
25   - * rights and limitations under the License.
26   - *
27   - * Copyright (c) 2005 Linear B Ltd. All rights reserved.
  33 + * @since 13 February 2005@version $LastChangedDate$
28 34 */
29 35 public class SuffixArrayParallelCorpus implements ParallelCorpus {
30 36
28 src/edu/jhu/joshua/corpus/TranslationResultsSet.java
... ... @@ -1,3 +1,19 @@
  1 +/* This file is part of the Joshua Machine Translation System.
  2 + *
  3 + * Joshua is free software; you can redistribute it and/or modify it
  4 + * under the terms of the GNU Lesser General Public License as published by
  5 + * the Free Software Foundation; either version 2.1 of the License, or
  6 + * (at your option) any later version.
  7 + *
  8 + * This library is distributed in the hope that it will be useful, but
  9 + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  10 + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
  11 + * License for more details.
  12 + *
  13 + * You should have received a copy of the GNU Lesser General Public License
  14 + * along with this library; if not, write to the Free Software Foundation,
  15 + * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  16 + */
1 17 package edu.jhu.joshua.corpus;
2 18
3 19 // Imports
@@ -16,18 +32,8 @@
16 32 *
17 33 * @author Chris Callison-Burch
18 34 * @since 14 February 2005
19   - *
20   - * The contents of this file are subject to the Linear B Community Research
21   - * License Version 1.0 (the "License"). You may not use this file except in
22   - * compliance with the License. You may obtain a copy of the License at
23   - * http://www.linearb.co.uk/developer/. Software distributed under the License
24   - * is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
25   - * express or implied. See the License for the specific language governing
26   - * rights and limitations under the License.
27   - *
28   - * Copyright (c) 2005 Linear B Ltd. All rights reserved.
  35 + * @version $LastChangedDate$
29 36 */
30   -
31 37 public class TranslationResultsSet {
32 38
33 39 //===============================================================
32 src/edu/jhu/joshua/decoder/Decoder.java
... ... @@ -1,3 +1,19 @@
  1 +/* This file is part of the Joshua Machine Translation System.
  2 + *
  3 + * Joshua is free software; you can redistribute it and/or modify it
  4 + * under the terms of the GNU Lesser General Public License as published by
  5 + * the Free Software Foundation; either version 2.1 of the License, or
  6 + * (at your option) any later version.
  7 + *
  8 + * This library is distributed in the hope that it will be useful, but
  9 + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  10 + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
  11 + * License for more details.
  12 + *
  13 + * You should have received a copy of the GNU Lesser General Public License
  14 + * along with this library; if not, write to the Free Software Foundation,
  15 + * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  16 + */
1 17 package edu.jhu.joshua.decoder;
2 18
3 19 import java.io.BufferedReader;
@@ -11,7 +27,7 @@
11 27 import edu.jhu.joshua.decoder.feature_function.Model.PhraseModel;
12 28 import edu.jhu.joshua.decoder.feature_function.Model.WordPenalty;
13 29 import edu.jhu.joshua.decoder.feature_function.language_model.LMGrammar;
14   -import edu.jhu.joshua.decoder.feature_function.language_model.LMGrammar_JAVA_GENERAL;
  30 +import edu.jhu.joshua.decoder.feature_function.language_model.LMGrammar_JAVA;
15 31 import edu.jhu.joshua.decoder.feature_function.language_model.LMGrammar_REMOTE;
16 32 import edu.jhu.joshua.decoder.feature_function.language_model.LMModel;
17 33 import edu.jhu.joshua.decoder.feature_function.language_model.srilm.LMGrammar_SRILM;
@@ -22,16 +38,14 @@
22 38 import edu.jhu.joshua.decoder.hypergraph.KbestExtraction;
23 39 import edu.jhu.lzfUtility.FileUtility;
24 40
25   -/* Zhifei Li, <zhifei.work@gmail.com>
26   -* Johns Hopkins University
27   -*/
28   -
29   -/*#################### Decoder class
  41 +/**
30 42 * this class implements:
31 43 * (1) read config file, initialize, call the chart-parsing functions
32 44 * (2) parallel decoding
33   - * */
34   -
  45 + *
  46 + * @author Zhifei Li, <zhifei.work@gmail.com>
  47 + * @version $LastChangedDate$
  48 + */
35 49 public class Decoder {
36 50 //input files
37 51 public static String lm_file;
@@ -364,7 +378,7 @@ public static void init_lm_grammar(){
364 378 p_lm = new LMGrammar_SRILM(g_lm_order);
365 379 }else{
366 380 //p_lm = new LMGrammar_JAVA(g_lm_order, lm_file, use_left_euqivalent_state);
367   - p_lm = new LMGrammar_JAVA_GENERAL(g_lm_order, use_left_euqivalent_state, use_right_euqivalent_state);
  381 + p_lm = new LMGrammar_JAVA(g_lm_order, use_left_euqivalent_state, use_right_euqivalent_state);
368 382 }
369 383 }
370 384
21 src/edu/jhu/joshua/decoder/Support.java
... ... @@ -1,3 +1,19 @@
  1 +/* This file is part of the Joshua Machine Translation System.
  2 + *
  3 + * Joshua is free software; you can redistribute it and/or modify it
  4 + * under the terms of the GNU Lesser General Public License as published by
  5 + * the Free Software Foundation; either version 2.1 of the License, or
  6 + * (at your option) any later version.
  7 + *
  8 + * This library is distributed in the hope that it will be useful, but
  9 + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  10 + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
  11 + * License for more details.
  12 + *
  13 + * You should have received a copy of the GNU Lesser General Public License
  14 + * along with this library; if not, write to the Free Software Foundation,
  15 + * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  16 + */
1 17 package edu.jhu.joshua.decoder;
2 18
3 19
@@ -6,7 +22,10 @@
6 22 import java.util.HashMap;
7 23 import java.util.Iterator;
8 24
9   -
  25 +/**
  26 + *
  27 + * @version $LastChangedDate$
  28 + */
10 29 public class Support {
11 30 public static int DEBUG=0;
12 31 public static int INFO=1;
37 src/edu/jhu/joshua/decoder/Symbol.java
... ... @@ -1,3 +1,19 @@
  1 +/* This file is part of the Joshua Machine Translation System.
  2 + *
  3 + * Joshua is free software; you can redistribute it and/or modify it
  4 + * under the terms of the GNU Lesser General Public License as published by
  5 + * the Free Software Foundation; either version 2.1 of the License, or
  6 + * (at your option) any later version.
  7 + *
  8 + * This library is distributed in the hope that it will be useful, but
  9 + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  10 + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
  11 + * License for more details.
  12 + *
  13 + * You should have received a copy of the GNU Lesser General Public License
  14 + * along with this library; if not, write to the Free Software Foundation,
  15 + * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  16 + */
1 17 package edu.jhu.joshua.decoder;
2 18
3 19 import java.io.BufferedReader;
@@ -9,26 +25,21 @@
9 25 import edu.jhu.joshua.decoder.feature_function.translation_model.TMGrammar;
10 26 import edu.jhu.lzfUtility.FileUtility;
11 27
12   -/* Zhifei Li, <zhifei.work@gmail.com>
13   -* Johns Hopkins University
14   -*/
15   -
16   -/*this class implement
  28 +/**
  29 + * this class implement
17 30 * (1) initialize the symbol table
18 31 * (2) provide conversion between symbol and integers
19   - */
20   -
21   -
22   -
23   -/*############# How to initialize the Symbol
  32 + *
  33 + * How to initialize the Symbol
24 34 * Having multiple LM modes complicate the class, we have four LM mode: JAVA_LM, SRILM, Distributed_LM, and NONE_LM. The NONE_LM and JAVA_LM will be treated as same.
25 35 *JAVA_LM and NONE_LM: call add_global_symbols(true) to initialize
26 36 *SRILM: the SRILM must first be initialized, then call add_global_symbols(false)
27 37 *DistributedLM (from decoder): call init_sym_tbl_from_file(true)
28 38 *DistributedLM (from LMServer): call init_sym_tbl_from_file(true/false)
29   - **/
30   -
31   -
  39 + *
  40 + * @author Zhifei Li, <zhifei.work@gmail.com>
  41 + * @version $LastChangedDate$
  42 + */
32 43 public class Symbol {
33 44
34 45 //terminal symbol may get from a tbl file, srilm, or a lm file
32 src/edu/jhu/joshua/decoder/chart_parser/Bin.java
... ... @@ -1,3 +1,19 @@
  1 +/* This file is part of the Joshua Machine Translation System.
  2 + *
  3 + * Joshua is free software; you can redistribute it and/or modify it
  4 + * under the terms of the GNU Lesser General Public License as published by
  5 + * the Free Software Foundation; either version 2.1 of the License, or
  6 + * (at your option) any later version.
  7 + *
  8 + * This library is distributed in the hope that it will be useful, but
  9 + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  10 + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
  11 + * License for more details.
  12 + *
  13 + * You should have received a copy of the GNU Lesser General Public License
  14 + * along with this library; if not, write to the Free Software Foundation,
  15 + * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  16 + */
1 17 package edu.jhu.joshua.decoder.chart_parser;
2 18
3 19 import java.util.ArrayList;
@@ -17,20 +33,16 @@
17 33 import edu.jhu.joshua.decoder.hypergraph.HyperGraph.Deduction;
18 34 import edu.jhu.joshua.decoder.hypergraph.HyperGraph.Item;
19 35
20   -/* Zhifei Li, <zhifei.work@gmail.com>
21   -* Johns Hopkins University
22   -*/
23   -
24   -/*#################### Bin class
  36 +/**
25 37 * this class implement functions:
26 38 * (1) combine small itesm into larger ones using rules, and create items and hyper-edges to construct a hyper-graph,
27 39 * (2) evaluate model cost for items,
28 40 * (3) cube-pruning
29   - * */
30   -
31   -/* Note: Bin creates Items, but not all Items will be used in the hyper-graph
32   - * */
33   -
  41 + * Note: Bin creates Items, but not all Items will be used in the hyper-graph
  42 + *
  43 + * @author Zhifei Li, <zhifei.work@gmail.com>
  44 + * @version $LastChangedDate$
  45 + */
34 46 public class Bin
35 47 {
36 48 /*we need always maintain the priority queue (worst first), so that we can do prunning effieciently
44 src/edu/jhu/joshua/decoder/chart_parser/Chart.java
... ... @@ -1,4 +1,21 @@
  1 +/* This file is part of the Joshua Machine Translation System.
  2 + *
  3 + * Joshua is free software; you can redistribute it and/or modify it
  4 + * under the terms of the GNU Lesser General Public License as published by
  5 + * the Free Software Foundation; either version 2.1 of the License, or
  6 + * (at your option) any later version.
  7 + *
  8 + * This library is distributed in the hope that it will be useful, but
  9 + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  10 + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
  11 + * License for more details.
  12 + *
  13 + * You should have received a copy of the GNU Lesser General Public License
  14 + * along with this library; if not, write to the Free Software Foundation,
  15 + * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  16 + */
1 17 package edu.jhu.joshua.decoder.chart_parser;
  18 +
2 19 import java.util.ArrayList;
3 20 import java.util.HashMap;
4 21
@@ -16,30 +33,27 @@
16 33 import edu.jhu.joshua.decoder.hypergraph.HyperGraph;
17 34 import edu.jhu.joshua.decoder.hypergraph.HyperGraph.Item;
18 35
19   -/* Zhifei Li, <zhifei.work@gmail.com>
20   -* Johns Hopkins University
21   -*/
22 36
23   -
24   -/*#################### Chart class
  37 +/**
  38 + * Chart class
25 39 * this class implements chart-parsing:
26 40 * (1) seeding the chart
27 41 * (2) cky main loop over bins,
28 42 * (3) identify applicable rules in each bin
29   - */
30   -
31   -/* Note: the combination operation will be done in Bin
32   - * */
33   -
34   -/*Signatures of class:
  43 + * Note: the combination operation will be done in Bin
  44 + *
  45 + * Signatures of class:
35 46 * Bin: i, j
36 47 * SuperItem (used for CKY check): i,j, lhs
37 48 * Item (or node): i,j, lhs, edge ngrams
38   - * Deduction (and node)*/
39   -
40   -/* index of sentences: start from zero
  49 + * Deduction (and node)
  50 + *
  51 + * index of sentences: start from zero
41 52 * index of cell: cell (i,j) represent span of words indexed [i,j-1] where i is in [0,n-1] and j is in [1,n]
42   - * */
  53 + *
  54 + * @author Zhifei Li, <zhifei.work@gmail.com>
  55 + * @version $LastChangedDate$
  56 + */
43 57 public class Chart {
44 58 public TMGrammar[] l_grammars;
45 59 public DotChart[] l_dotcharts;//each grammar should have a dotchart associated with it
33 src/edu/jhu/joshua/decoder/chart_parser/DotChart.java
... ... @@ -1,3 +1,19 @@
  1 +/* This file is part of the Joshua Machine Translation System.
  2 + *
  3 + * Joshua is free software; you can redistribute it and/or modify it
  4 + * under the terms of the GNU Lesser General Public License as published by
  5 + * the Free Software Foundation; either version 2.1 of the License, or
  6 + * (at your option) any later version.
  7 + *
  8 + * This library is distributed in the hope that it will be useful, but
  9 + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  10 + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
  11 + * License for more details.
  12 + *
  13 + * You should have received a copy of the GNU Lesser General Public License
  14 + * along with this library; if not, write to the Free Software Foundation,
  15 + * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  16 + */
1 17 package edu.jhu.joshua.decoder.chart_parser;
2 18
3 19 import java.util.ArrayList;
@@ -6,19 +22,16 @@
6 22 import edu.jhu.joshua.decoder.feature_function.translation_model.TMGrammar;
7 23 import edu.jhu.joshua.decoder.feature_function.translation_model.TMGrammar.TrieNode;
8 24
9   -/* Zhifei Li, <zhifei.work@gmail.com>
10   -* Johns Hopkins University
11   -*/
12   -
13   -//#################### DotChart class:
14   -/*This class implements:
  25 +/**
  26 + * This class implements:
15 27 * (1) seeding
16 28 * (2) extend the dot by accessing the TM grammar, and create and remember DotItems
  29 + *
  30 + * Note: the purpose of this class: (1) do CKY parsing in an efficient way (i.e., identify the applicable rules fastly); (2) binarization on the fly; (3) remember the partial application of rules
  31 + *
  32 + * @author Zhifei Li, <zhifei.work@gmail.com>
  33 + * @version $LastChangedDate$
17 34 */
18   -
19   -/*Note: the purpose of this class: (1) do CKY parsing in an efficient way (i.e., identify the applicable rules fastly); (2) binarization on the fly; (3) remember the partial application of rules
20   -*/
21   -
22 35 public class DotChart
23 36 {
24 37 public Chart p_chart; //pointer the Chart that it associated with
30 src/edu/jhu/joshua/decoder/feature_function/Model.java
... ... @@ -1,22 +1,36 @@
  1 +/* This file is part of the Joshua Machine Translation System.
  2 + *
  3 + * Joshua is free software; you can redistribute it and/or modify it
  4 + * under the terms of the GNU Lesser General Public License as published by
  5 + * the Free Software Foundation; either version 2.1 of the License, or
  6 + * (at your option) any later version.
  7 + *
  8 + * This library is distributed in the hope that it will be useful, but
  9 + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  10 + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
  11 + * License for more details.
  12 + *
  13 + * You should have received a copy of the GNU Lesser General Public License
  14 + * along with this library; if not, write to the Free Software Foundation,
  15 + * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  16 + */
1 17 package edu.jhu.joshua.decoder.feature_function;
2 18
3 19 import java.util.ArrayList;
4 20 import java.util.HashMap;
5 21
6 22 import edu.jhu.joshua.decoder.Symbol;
7   -import edu.jhu.joshua.decoder.feature_function.translation_model.TMGrammar;
8 23 import edu.jhu.joshua.decoder.feature_function.translation_model.TMGrammar.Rule;
9 24
10   -/* Zhifei Li, <zhifei.work@gmail.com>
11   -* Johns Hopkins University
12   -*/
13   -
14   -/*this class implement
  25 +/**
  26 + * This class implements
15 27 * (1) General model interfact
16 28 * (2) simple models: WordPenalty, PhraseModel, ArityPhrasePenalty, and PhraseModel
  29 + * provide ways to calculate cost based on rule and state information
  30 + *
  31 + * @author Zhifei Li, <zhifei.work@gmail.com>
  32 + * @version $LastChangedDate$
17 33 */
18   -
19   -/*provide ways to calculate cost based on rule and state information*/
20 34 public class Model {
21 35
22 36 boolean stateless=false; //rule cost can be calculated from rule alone, note: stateless==true implies that contextual==true
21 src/edu/jhu/joshua/decoder/feature_function/language_model/LMClient.java
... ... @@ -1,9 +1,28 @@
  1 +/* This file is part of the Joshua Machine Translation System.
  2 + *
  3 + * Joshua is free software; you can redistribute it and/or modify it
  4 + * under the terms of the GNU Lesser General Public License as published by
  5 + * the Free Software Foundation; either version 2.1 of the License, or
  6 + * (at your option) any later version.
  7 + *
  8 + * This library is distributed in the hope that it will be useful, but
  9 + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  10 + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
  11 + * License for more details.
  12 + *
  13 + * You should have received a copy of the GNU Lesser General Public License
  14 + * along with this library; if not, write to the Free Software Foundation,
  15 + * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  16 + */
1 17 package edu.jhu.joshua.decoder.feature_function.language_model;
2 18
3 19
4 20 import java.util.ArrayList;
5 21
6   -
  22 +/**
  23 + *
  24 + * @version $LastChangedDate$
  25 + */
7 26 public abstract class LMClient {
8 27
9 28 public LMClient(){
26 src/edu/jhu/joshua/decoder/feature_function/language_model/LMClient_MultiServer.java
... ... @@ -1,3 +1,19 @@
  1 +/* This file is part of the Joshua Machine Translation System.
  2 + *
  3 + * Joshua is free software; you can redistribute it and/or modify it
  4 + * under the terms of the GNU Lesser General Public License as published by
  5 + * the Free Software Foundation; either version 2.1 of the License, or
  6 + * (at your option) any later version.
  7 + *
  8 + * This library is distributed in the hope that it will be useful, but
  9 + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  10 + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
  11 + * License for more details.
  12 + *
  13 + * You should have received a copy of the GNU Lesser General Public License
  14 + * along with this library; if not, write to the Free Software Foundation,
  15 + * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  16 + */
1 17 package edu.jhu.joshua.decoder.feature_function.language_model;
2 18
3 19 import java.util.ArrayList;
@@ -6,14 +22,14 @@
6 22 import edu.jhu.joshua.decoder.Support;
7 23 import edu.jhu.lzfUtility.SocketUtility;
8 24
9   -/* Zhifei Li, <zhifei.work@gmail.com>
10   -* Johns Hopkins University
11   -*/
12 25
13   -/*this class implement
  26 +/**
  27 + * this class implement
14 28 * (1) The client side when using multiple LMServers
  29 + *
  30 + * @author Zhifei Li, <zhifei.work@gmail.com>
  31 + * @version $LastChangedDate$
15 32 */