IronCalc – Open-Source Spreadsheet Engine
31–40 of 238 posts
Re: IronCalc – Open-Source Spreadsheet Engine
#32Uncaught RuntimeError: unreachable executed pasteCsvText assets/index-BxqQcmeI.js:40
Re: IronCalc – Open-Source Spreadsheet Engine
#33Earlier quoted context omitted.
The function for asterisks and slashes is called from the functions for pluses and minuses. The result is that asterisks and slashes are evaluated before pluses and minuses. It's actually very easy to understand once you get the idea. https://en.wikipedia.org/wiki/Recursive_descent_parser
I don't think a recursion should be involved in the parser. Shift-reduce may be an answer but it does not fix the problem either if you try to implement that. I would like to see real code rather than written homework pieces.
Source: 20 years ago I converted GCC's C++ parser from recursive descent to an operator precedence parser; obviously GCC respected precedence even before my work, which was purely an optimization. In fact the code I replaced had the note "The expression parser recurses through the various levels of precedence as specified in the grammar, rather than using an operator-precedence technique".
https://github.com/gcc-mirror/gcc/commit/b8b94c5ba81744d325f...
Re: IronCalc – Open-Source Spreadsheet Engine
#34Re: IronCalc – Open-Source Spreadsheet Engine
#35Hey! This is my project! Amazed to see this here. I'll try to answer questions people might have
Great project. I particularly love the: 1) mit license 2) using plausible instead of Google analytics. Practically speaking, uBO is going to block both by default, but for non-tech users this is great. 3) appreciate how the app respects your pc when the web app is running in the background. Very low footprint, no random CPU spikes or anything. Wish you guys the best.
WRT: Plausible. I think I will remove all kinds of analytics, I'm not yet convinced I should be using them at all. That being said I had been longing to try Plausible for the a long time and this seemed like a good opportunity.
Re: IronCalc – Open-Source Spreadsheet Engine
#36Earlier quoted context omitted.
The function for asterisks and slashes is called from the functions for pluses and minuses. The result is that asterisks and slashes are evaluated before pluses and minuses. It's actually very easy to understand once you get the idea. https://en.wikipedia.org/wiki/Recursive_descent_parser
I don't think a recursion should be involved in the parser. Shift-reduce may be an answer but it does not fix the problem either if you try to implement that. I would like to see real code rather than written homework pieces.
https://gcc.gnu.org/wiki/New_C_Parser
https://clang.llvm.org/features.html
I think this is a quite popular approach for multiple reasons. That being said, tree sitter uses GLR.
Re: IronCalc – Open-Source Spreadsheet Engine
#37Had a comment here about larger values/arbitrary precision (e.g. 74829901923401860/14408150751351922) and realised that it isn't choking on the number but it seems to error if I paste in values? In Firefox: Uncaught RuntimeError: unreachable executed pasteCsvText assets/index-BxqQcmeI.js:40
I just added csv copy/paste, most likely an error there. We don't support arbitrary precision arithmetic but I would like to.
Re: IronCalc – Open-Source Spreadsheet Engine
#38Earlier quoted context omitted.
I don't think a recursion should be involved in the parser. Shift-reduce may be an answer but it does not fix the problem either if you try to implement that. I would like to see real code rather than written homework pieces.
You're conflating parsing of expressions with operator precedence parsers (aka Pratt parsers). IronCalc uses a recursive descent parser, and Pratt parsers are an optimization of recursive descent parsers. Pratt parsers have one function that implements all precedence levels, while recursive descent parsers have one function per precedence level, but they contain basically the same logic. Source: 20 years ago I conver…
Re: IronCalc – Open-Source Spreadsheet Engine
#39I am genuinely looking forward for the success of this project. I am just wondering will this support scripting language like VBA for Microsoft Excel?
Re: IronCalc – Open-Source Spreadsheet Engine
#40This is awesome. Will try using it as the foundation of some web tools.
Right now you can't just `npm install ironcalc`, but hopefully that will be in place in a month from now.