Difference between revisions of "User:SilentFlame/Progress"

From Apertium
Jump to navigation Jump to search
(wip)
 
Line 1: Line 1:
Progress on [[Ideas_for_Google_Summer_of_Code/Automatic_blank_handling|Automatic_blank_handling]]
==Tasks==


==Current task==
* Complete prototype deformatters
===Interchunk===
# Apply changes to transfer.cc to interchunk.cc
#* Check <code>git clone -b blank-handling https://github.com/unhammer/apertium</code>
#* Apply the diff (between that branch and master) from transfer.cc to interchunk.cc
#* Try to make it compile and run – report things that didn't seem to have a 1-1 correspondence
#* Write tests for interchunk, like those for transfer at https://github.com/unhammer/apertium/tree/blank-handling/tests

==TODO==

===Deformatters===
* Complete prototype HTML deformatters
** Current prototype code at https://github.com/junaidiiith/apertium / https://github.com/junaidiiith/Apertium_Code and https://github.com/SilentFlame/apertium/
** Current prototype code at https://github.com/junaidiiith/apertium / https://github.com/junaidiiith/Apertium_Code and https://github.com/SilentFlame/apertium/
** Task: Create a clean pull request to https://github.com/unhammer with HTML deformatter and reformatter, including tests
** Task: Create a clean pull request to https://github.com/unhammer with HTML deformatter and reformatter, including tests

* Make lt-proc correctly disperse inline blanks onto each lexical unit until the next <code><nowiki>[</nowiki></code>
===Reformatters===
** Not done yet

* Make transfer output the non-inline blanks before the rule output
* Make transfer handle inline-blanks, and ignore &lt;b pos="N"&gt;
** work in progress for this and the above: https://github.com/unhammer/apertium/commit/b5c73fbe82544d83a98eb16b921c2fa224f6d40c
* Make reformat turn inline-blanks back into real tags
* Make reformat turn inline-blanks back into real tags
** <nowiki>[{&lt;i&gt;}]foo [{&lt;i&gt;&lt;b&gt;}]bar</nowiki> should become &lt;i&gt;foo&lt;/i&gt; &lt;i&gt;&lt;b&gt;bar&lt;/b&gt;&lt;/i&gt;
** <nowiki>[{&lt;i&gt;}]foo [{&lt;i&gt;&lt;b&gt;}]bar</nowiki> should become &lt;i&gt;foo&lt;/i&gt; &lt;i&gt;&lt;b&gt;bar&lt;/b&gt;&lt;/i&gt;
** prototypes exist for this in https://github.com/junaidiiith/apertium / https://github.com/junaidiiith/Apertium_Code
** prototypes exist for this in https://github.com/junaidiiith/apertium / https://github.com/junaidiiith/Apertium_Code
* Ensure all other modules are fine with the new format for inline blanks


==In progress==
===lttoolbox===
* Make lt-proc correctly disperse inline blanks onto each lexical unit until the next <code><nowiki>[</nowiki></code>
# Apply changes to transfer.cc to interchunk.cc

#* Check <code>git clone -b blank-handling https://github.com/unhammer/apertium</code>
===postchunk===
#* Apply the diff (between that branch and master) from transfer.cc to interchunk.cc
(Should be done after interchunk is complete)
#* Try to make it compile and run – report things that didn't seem to have a 1-1 correspondence

#* Write tests for interchunk, like those for transfer at https://github.com/unhammer/apertium/tree/blank-handling/tests
===etc===
* Ensure all other modules are fine with the new format for inline blanks
* Work on other deformatters (mediawiki? latex?)


==Done==
==Done==

Revision as of 12:01, 14 May 2017

Progress on Automatic_blank_handling

Current task

Interchunk

  1. Apply changes to transfer.cc to interchunk.cc

TODO

Deformatters

Reformatters

lttoolbox

  • Make lt-proc correctly disperse inline blanks onto each lexical unit until the next [

postchunk

(Should be done after interchunk is complete)

etc

  • Ensure all other modules are fine with the new format for inline blanks
  • Work on other deformatters (mediawiki? latex?)

Done

(Some of these are from coding challenges)

deformatting

  1. Make the HTML format handler apertium-deshtml turn "<i>foo <b>bar</b></i>" into "[{<i>}]foo [{<i><b>}]bar"


pretransfer

transfer

  1. Fix a memory bug
    • uncommenting apertium/transfer.cc:1259 // delete[] format; in the blank handling branch leads to a double-free – find out why and ensure we're correctly releasing memory
      • Install valgrind from your package manager or http://valgrind.org/, then compile your program with -O0 -g3, then run valgrind -v --leak-check=full apertium/apertium-transfer and read the output