Page MenuHomePhabricator

Port Parsoid tokenizer to PHP
Closed, ResolvedPublic

Description

This task tracks ongoing work to port the tokenizer component of Parsoid to PHP. The general plan is:

  • Fork PEG.js, rebranding as WikiPEG (complete).
  • Implement rule parameters in WikiPEG, in order to simplify the grammar and improve performance (implementation complete, but should have more testing).
  • Add a PHP generator backend to WikiPEG
  • Port the action code embedded within the Parsoid grammar from JS to PHP.
  • Port functions called by the action code to PHP. Only a mock implementation is needed for this subproject.
  • Analyse performance of the PHP code and do any necessary optimisation work.

Event Timeline

tstarling triaged this task as Medium priority.Mar 26 2019, 11:02 PM

Change 497448 had a related patch set uploaded (by Tim Starling; owner: Tim Starling):
[mediawiki/services/parsoid@master] Port tokenizer to PHP

https://gerrit.wikimedia.org/r/497448

Change 497448 merged by jenkins-bot:
[mediawiki/services/parsoid@master] Port tokenizer to PHP

https://gerrit.wikimedia.org/r/497448

  • Analyse performance of the PHP code and do any necessary optimisation work.

I am going to create a separate task for it.

Mentioned in SAL (#wikimedia-operations) [2019-04-03T20:29:56Z] <arlolra> Updated Parsoid to 0b3bb10 (T219337)