HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
ircmaxell
php-math-parser
PHP2018–2018
ircmaxell / php-math-parser

php-math-parser

A Shunting-Yard Based Math Engine For PHP

2Distinct people
2Mentions
0Explicit recommenders
29GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A Shunting-Yard Based Math Engine For PHP

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 6:01:08 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by hour2 dated mentions

Observed mentions: 2018-06-12 19:11:03 UTC to 2018-06-13 03:12:11 UTC.

012018-06-12 19:00:00 UTC to 2018-06-12 20:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsJun 12, 19:002018-06-12 20:00:00 UTC to 2018-06-12 21:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-06-12 21:00:00 UTC to 2018-06-12 22:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-06-12 22:00:00 UTC to 2018-06-12 23:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-06-12 23:00:00 UTC to 2018-06-13 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsJun 12, 23:002018-06-13 00:00:00 UTC to 2018-06-13 01:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-06-13 01:00:00 UTC to 2018-06-13 02:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-06-13 02:00:00 UTC to 2018-06-13 03:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-06-13 03:00:00 UTC to 2018-06-13 04:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsJun 13, 03:00

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Jun 12, 19:002018-06-12 19:00:00 UTC2018-06-12 20:00:00 UTC101
Jun 12, 20:002018-06-12 20:00:00 UTC2018-06-12 21:00:00 UTC000
Jun 12, 21:002018-06-12 21:00:00 UTC2018-06-12 22:00:00 UTC000
Jun 12, 22:002018-06-12 22:00:00 UTC2018-06-12 23:00:00 UTC000
Jun 12, 23:002018-06-12 23:00:00 UTC2018-06-13 00:00:00 UTC000
Jun 13, 00:002018-06-13 00:00:00 UTC2018-06-13 01:00:00 UTC000
Jun 13, 01:002018-06-13 01:00:00 UTC2018-06-13 02:00:00 UTC000
Jun 13, 02:002018-06-13 02:00:00 UTC2018-06-13 03:00:00 UTC000
Jun 13, 03:002018-06-13 03:00:00 UTC2018-06-13 04:00:00 UTC101

What Hacker News says

1 sources
IMHO precedence climbing (a refactored version of recursive descent) would be much simpler and makes parsing seem almost trivial, since it can be made table-driven: https://www.engr.mun.ca/~theo/Misc/exp_parsing.htm Speaking of parsing simplicity and software design in general, you've coincidentally found a great example of how not to (ab)use OOP... one line of actual work wrapped in a dozen lines of boilerplate and replicated across multiple files with tiny variations: https://github.com/ircmaxell/php-math-parser/tree/master/lib... To put things into perspective, a precedence-climber for 13 levels of precedence from C's grammar, including a tokeniser, fits comfortably in <300 LoC of C, the bulk of that being the tokeniser. PHP's higher level nature (especially around string handling) would probably make a corresponding implementation eve
Read the rest
n smaller.
In Evil Teacher: Code Injection in Moodle

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.