summaryrefslogtreecommitdiff
path: root/starmath/inc/parse.hxx
AgeCommit message (Collapse)Author
2020-03-13Revert "loplugin:constfields in starmath"Noel Grandin
This reverts commit e494cc2942899fd92a2273eaed2bf41eb74ea8a9. Change-Id: Ie73ecb4b7299e70dea729c374763f9e2df2aa6f8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90421 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-01-04tdf#42949 Fix IWYU warnings in starmath/inc/*hxx & starmath/source/*hxxGabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: If1a597f4c2241dc1ad5687d81199bbc5745e711f Reviewed-on: https://gerrit.libreoffice.org/65624 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2018-10-08loplugin:constfields in starmathNoel Grandin
Change-Id: I5092401b4138ca15e93b36adf1b059e75d4e8f5a Reviewed-on: https://gerrit.libreoffice.org/61514 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-07use more unique_ptr in SmParserNoel Grandin
Change-Id: I132598f5829e02664040dff745011a59c6a19c1d Reviewed-on: https://gerrit.libreoffice.org/61401 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-05-24ofz#8490 stack exhaustionCaolán McNamara
a linear loop builds a recursive structure, if it gets too deep then later processing, e.g. releasing the tree, can exhaust stack Change-Id: I4421b9bae62ac2b6ffe32531d1167a482103bfde Reviewed-on: https://gerrit.libreoffice.org/54762 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-02-14starmath: Omit SmParser::GetError()'s argumentTakeshi Abe
as it was always 0. Change-Id: I59570967deb139f258e7aeaab17619f714bc7bb5 Reviewed-on: https://gerrit.libreoffice.org/49640 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
2018-02-08starmath: Make SmParser::DoAttribut() etc. return std::unique_ptrTakeshi Abe
Change-Id: I9693cf15abf202657f5be478bfebd1272dc261dd Reviewed-on: https://gerrit.libreoffice.org/49339 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
2018-02-07starmath: Make SmParser::DoLine() etc. return std::unique_ptrTakeshi Abe
Change-Id: Ia85f66d3490471d7e0c2ce8a1947051be129acf9 Reviewed-on: https://gerrit.libreoffice.org/49276 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
2018-02-06starmath: Make DoAlign() return std::unique_ptrTakeshi Abe
to take advantage of copy elision and simplify client code. Change-Id: I9e08bc2b9743563f483657c7348abca05dd34c85 Reviewed-on: https://gerrit.libreoffice.org/49222 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
2018-01-22starmath: Make SmParser::Parse() return std::unique_ptrTakeshi Abe
Change-Id: I6c8811f71ab40398043cdcfa3334eee4381b4c7e Reviewed-on: https://gerrit.libreoffice.org/48098 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
2018-01-17starmath: Make SmParser::ParseExpression() return std::unique_ptrTakeshi Abe
Change-Id: Ib8b65dced2af3ac7dca3fe9dd02e70f02c865f79 Reviewed-on: https://gerrit.libreoffice.org/47974 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-11ofz#5244 tighten depth checkCaolán McNamara
Change-Id: Ia841f3419ebe14d8f73d09a6fc089973252725ff Reviewed-on: https://gerrit.libreoffice.org/47770 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-12-06ofz#4539 depth protect mathtype parserCaolán McNamara
Change-Id: I46e12f52d56e7802b676309207904b4d1894d236 Reviewed-on: https://gerrit.libreoffice.org/45928 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-04-05starmath: Kill newly unused m_aNodeStackTakeshi Abe
which now has been replaced naturally with the call stack of SmParser functions. Change-Id: I970a350aae6927c6d13ed4917aa29bce3888a3fe Reviewed-on: https://gerrit.libreoffice.org/36136 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
2017-04-04starmath: Simplify code parsing nospaceTakeshi Abe
This also comes with its unit test. Change-Id: I1478bf48c5522691978e3534c9c8a9c0ddfc1e59 Reviewed-on: https://gerrit.libreoffice.org/35985 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
2017-03-24starmath: Make SmParser::DoAlign() return SmNodeTakeshi Abe
instead of pushing it to the stack, for later refactoring. Change-Id: I61760fbfe95771dede62f90f82df3e9961efdcd6 Reviewed-on: https://gerrit.libreoffice.org/35609 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
2017-03-23starmath: Make DoProduct()/DoSum()/DoRelation() return SmNodeTakeshi Abe
to reduce an excessive number of stack operations. Change-Id: Ia4ef08dce76d318c56bf7d112f686e13d1b2660e Reviewed-on: https://gerrit.libreoffice.org/35551 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
2017-03-22starmath: Make SmParser::DoPower() return SmNodeTakeshi Abe
instead of pushing it to the stack. Change-Id: I7b1640e1b3f835c06726941adfe6d212853f3af6 Reviewed-on: https://gerrit.libreoffice.org/35537 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
2017-03-22starmath: Make DoOpSubSup() return SmNodeTakeshi Abe
This spares a pair of push and pop of the stack. Change-Id: I046402c2e975a6b5f4148960a9daffa15cc55ff3 Reviewed-on: https://gerrit.libreoffice.org/35532 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
2017-03-22starmath: Make DoSubSup() return SmNode by taking another nodeTakeshi Abe
as an argument, not from the top of the stack. Because no token belongs to groups TG::Limit and TG::Power at the same time, we can replace TokenInGroup() with direct comparison with each group. Change-Id: I44882ab40f59c4de1c0e2cbbdc354e43de926ab1 Reviewed-on: https://gerrit.libreoffice.org/35500 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
2017-03-19starmath: Make DoTerm() return the top of the stackTakeshi Abe
without pushing it. Client code do it instead, so no logic changes. Change-Id: I7ea95b4bddc4e1ef7270cfe02d4f8ad3dc1f19d0 Reviewed-on: https://gerrit.libreoffice.org/35400 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
2017-03-16starmath: Return SmStructureNode from DoAttribut()/DoFontAttribut()Takeshi Abe
This spares a pair of push and pop of the stack. Change-Id: Ic5f1ee0ee158779f2f231dab9f7059ce6618bdcb Reviewed-on: https://gerrit.libreoffice.org/35245 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
2017-03-15starmath: Separate SmParser::DoError() from Error()Takeshi Abe
for incoming refactoring. Change-Id: I74355dbd1d7a5822cbf67e828ddc31bd76be79f2 Reviewed-on: https://gerrit.libreoffice.org/35171 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
2017-03-14starmath: Return SmBracebodyNode from DoBracebody()Takeshi Abe
to skip a push to the stack immediately followed by a pop. Change-Id: I97eb48db2521d640acec4d8080cceb56561eb901 Reviewed-on: https://gerrit.libreoffice.org/35129 Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp> Tested-by: Takeshi Abe <tabe@fixedpoint.jp>
2017-03-10starmath: Return SmGlyphSpecialNode from DoGlyphSpecial()Takeshi Abe
instead of pushing it to the stack. This spares some pops. Change-Id: I9fc987ebf851ff6387e347a2878ff01f482d8f7f Reviewed-on: https://gerrit.libreoffice.org/35029 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
2017-03-08starmath: Return the expression node from DoExpression()Takeshi Abe
instead of pushing it to the stack. This saves extra pops. Change-Id: I2fcf9b86eab9ade45db4351b34bafbcbc42ef056 Reviewed-on: https://gerrit.libreoffice.org/34944 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
2017-01-20starmath: Avoid ad hoc LanguageTag and CharClass at tokenizationTakeshi Abe
Instead, keep them as SmParser's members. Change-Id: I8a2aad7ba8baaad9a761f42f62d51fc67cadec07 Reviewed-on: https://gerrit.libreoffice.org/32348 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
2016-10-20loplugin:expandablemethodds in sfx2..starmathNoel Grandin
Change-Id: Ia4c411f5a9a68c2f344188ce6b6bc1815c89f993 Reviewed-on: https://gerrit.libreoffice.org/30055 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-10-03starmath: Add comments on indexingTakeshi Abe
Change-Id: Ic87d04f65f8272832c8742f99821876cc28bb514
2016-10-02starmath: Prefix members of SmParserTakeshi Abe
Change-Id: Ib39bf2a9b8c37d9f2ac4ed3db602c3b0a82a506b Reviewed-on: https://gerrit.libreoffice.org/29397 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
2016-06-08starmath: The formula tree must be of type SmTableNodeTakeshi Abe
This also omits the last push & pop on m_aNodeStack at the end of parsing. Change-Id: Iefff8fa801ea7cb9015d6cba0d5a972dee675cb7 Reviewed-on: https://gerrit.libreoffice.org/26003 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
2016-05-17convert TG constants to scoped enumNoel Grandin
Change-Id: Ide719e8bb0d5aacc8d5da18f385b6373c7e48184 Reviewed-on: https://gerrit.libreoffice.org/24973 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
2016-04-22starmath: Drop member variable set but not usedTakeshi Abe
Its usage was gone with 9adcd261054a0e99ae032be5e7428e28a6663975. Change-Id: Ibd322531365c2e0ccad85d553781611dfe96d54e Reviewed-on: https://gerrit.libreoffice.org/24277 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
2016-04-14loplugin:passstuffbyref in variousNoel Grandin
Change-Id: I80070c83204e531c2f599f8a56193d6ffe0e5022
2016-03-21loplugin:staticmethodsStephan Bergmann
Change-Id: Id40b00234f78afc238d6b3af1283e0429587ee49
2016-03-21tdf#91794 remove OSL_DEBUG_LEVEL > 1 conditionalsRohan Kumar
I removed all the OSL_DEBUG_LEVEL > 1 conditionals and also made SAL_WARN open to production code which was earlier under OSL_DEBUG_LEVEL > 0 Change-Id: Ibe71defed9a7191ec8e4a934e746ef0f3ebd8b3a Reviewed-on: https://gerrit.libreoffice.org/23065 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2016-01-14loplugin:unusedmethods unused return value in starmathNoel Grandin
Change-Id: Ic70c3d727ecadd082f7e5d293fc2b279b1287b8f
2015-10-29com::sun::star->css in starmath,stoc,svgio,svlNoel Grandin
Change-Id: If4308b358a55351f6e951ebf055df076ce4ad4ce Reviewed-on: https://gerrit.libreoffice.org/19667 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-10-12Replace "SAL_DELETED_FUNCTION" with "= delete" in LIBO_INTERNAL_ONLY codeStephan Bergmann
Change-Id: I328ac7a95ccc87732efae48b567a0556865928f3
2015-09-29starmath: tdf#93240 replace boost::ptr_vectorTakeshi Abe
with std::vector<std::unique_ptr> Change-Id: I72f96b08273c73cbd11c7796c34a45b262325209 Reviewed-on: https://gerrit.libreoffice.org/18820 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com>
2015-08-04svx,starmath: inline some use-once typedefsNoel Grandin
Change-Id: I5a7405d326b7258cbed476c30f88e57559b4cc8e
2015-07-21loplugin:unusedmethods starmathNoel Grandin
Change-Id: I543a914bb7cdfdc498cf8d9f885316fbe3e1543b Reviewed-on: https://gerrit.libreoffice.org/17237 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-06-15cppcheck: silence bogus unusedScopedObjectCaolán McNamara
Change-Id: I033b9e141bde73820972f285e97f5c14d60b1a43
2015-04-24loplugin:simplifyboolStephan Bergmann
Change-Id: Iea7d0e2e8440e8780067e5a51072b6ab9a72b8ab
2015-03-10Replace boost::noncopyable with use of SAL_DELETED_FUNCTIONTakeshi Abe
Change-Id: Id657299322ddefb095a2f192df818a873498e411 Reviewed-on: https://gerrit.libreoffice.org/14825 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-01-15protected -> privateTakeshi Abe
Change-Id: I199f4cd8897e3fa7b794f3d6d96077e98ccff51e
2014-12-16Omit unused default valueTakeshi Abe
Change-Id: I2b703312ddff29772b31cf74ab6408dbbe90a5db
2014-11-09separate parse.hxx into smaller partsTakeshi Abe
... so that node.hxx no longer needs to include parse.hxx. Change-Id: Iac1e21c208e3f0e3fd8ece16eee345e81574a0aa
2014-11-04mark as noncopyableTakeshi Abe
Change-Id: Ic464974087f9f8fb161aaffde232668ba01c2f62
2014-11-04include <list> where neededTakeshi Abe
Change-Id: Ia6784bf95d9d0c57b79bdf7373f4836709563b7a