D29418: Strip trailing binary operators

David Hurka <[email protected]> Tue, 5 May 2020 17:37:02 +0000
Newsgroups gmane.comp.kde.devel.education
Message-ID <dd424d2b4526e6b36684bcefb50189cc__23791.2124650151$1588700254$gmane$org@localhost.localdomain>
davidhurka added a comment.


  In D29418#663911 <https://phabricator.kde.org/D29418#663911>, @cfeck wrote:
  
  > The problem is that the original author wanted input errors to be visible while typing.
  
  
  That makes sense. It actually works, so it works.
  
  > If you check the expression after hitting Enter, you can detect more errors.
  
  That also already works. When you do not match an `(` with a `)`, the expression is not accepted at Enter.
  
  Currently I understand it that some parser function inside KmPlot parses the expression to a token stream, which is then passed to Mathematica. The parser requires matching brackets, so it could also require right arguments for binary operators, couldn’t it?
  
  To me as a user it looks like the parser works in general, and it is fairly complex code, so I think we don’t need to replace it with a new parser. I don’t know the parser of LabPlot2. If it could be a drop-in replacement, hmm...
  
  It appears that binary expressions are matched in `heir0()` to `heir5()` functions. Their logical structure is too complicated to understand it quickly, but I think one of these doesn’t monitor which operator makes sense now.

REPOSITORY
  R334 KmPlot

REVISION DETAIL
  https://phabricator.kde.org/D29418

To: yurchor, cfeck, davidhurka
Cc: kde-edu, narvaez, apol