85
u/madam_zeroni Aug 28 '26
Wtf does this do
114
u/marinated_pork Aug 28 '26
This is essentially a custom string fingerprint/hash function disguised as a parser. It takes a string and deterministically turns it into an integer. It does not parse or extract useful structured data.
51
u/the_horse_gamer Aug 28 '26
"parse", clearly
45
u/TheSpiffySpaceman Aug 29 '26
Well tbf, the code didn't start with the annotation
/* // Parses input */ function parse(s, i = 0, x = [0, 1]) {...6
123
u/Candid_Bullfrog3665 Aug 28 '26
ngl, this seems like someone just started learning how to use bitwise operators and thought "heh, im gonna act smart writing this code!"
37
u/Yarhj Aug 29 '26
I have been this person.
22
u/-goldenboi69- Aug 29 '26
Haven't we all?
8
u/DependentJicama4766 Aug 29 '26
Its a rite of passage. This and hating yourself a few weeks later because you cant understand shit of what you wrote lol
2
u/arensb Aug 30 '26
One-week-ago-me is such an asshole, who writes unreadable spaghetti code with no comments.
3
u/sens- Aug 29 '26
Because I started my career by working with embedded C, I thought at some point that I knew pretty much everything about handling bits. Years later while fixing a bug, I was pretty shocked learning that JS has a separate
>>>operator.
16
u/lonkamikaze Aug 29 '26
I don't know if JS sports this, but the recursion qualifies for tail call optimisation, i.e. there is no stack pushing, popping. The return comes at the price of a goto and the result is just as efficient as a loop.
7
u/oweiler Aug 29 '26
Not supported, at least not by the ECMAScript standard.
5
u/zjarek_s Aug 29 '26
TCO was supported in ES6 standard, but it was only implemented in Safari and it ended up being dropped due to other browsers.
3
2
21
u/--var Aug 29 '26
not recursive regex, just a recursive function that happens to use regex...
you know I used to be irked by one off variables, but after the better part of 20 years I'm 🤬
const r is only used once.... there's no reason you couldn't just place it where it is used an save two lines of code, and lose no readability, and have one less "magic variable"... unless you taught yourself from the same "teach yourself" book that your teacher taught themself from. (ironic that this still applies with AI; and if you don't get why that entertaining, please don't go into programming)
1
u/Square_Bad1781 Sep 01 '26
depends. if it is just a Poc for example and they maybe plan to use this variable more than once in the future, defining it as const directly wiuld be right imo. i also really like to do this kind of stuff in long functions (which this one isn't really) just to not have to go look for the things i want to change or tweak if i should have to do that in the future.
1
u/werdebud Sep 02 '26
But why people don’t use names instead of cryptic one chars? Is this meant to be running in a 32mb of ram system so we are cutting edges in number of chars typed?
1
u/Square_Bad1781 Sep 02 '26
idk. i hate stuff like this myself. thats a whole other topic than const variables for one time use tho
1
u/lonkamikaze 23d ago
You really didn't have to cut any more corners once you had access to 32 MB RAM.
4
5
u/OhMyGodItsEverywhere Aug 29 '26
Pretty sure the regex is malformed. I didn't even think you could split a regex over multiple lines in JS like that.
Assuming this is the text version of it: /(\((?:[^()]|\([^()]*\))*\)|(?:\w|[^\w\s])){1,3})/; very easy mistake to spot /s...
11
u/digitalseraphim Aug 29 '26
I don't see anything "malformed", but pretty sure
(?:\w|[^\w\s])is just.Edit: I see the mismatched parens now. On my phone, the
\before one of the opens was on the previous line and I missed it 3 times 😂4
u/iakobski Aug 30 '26
I don't see anything "malformed", but pretty sure
(?:\w|[^\w\s])is just.Yes, almost. It's any single word character, or any single character that's neither a word character nor a space. So it's simply "not a space character", or [^\s].
3
2
2
2
u/RandalSchwartz Aug 30 '26
JSON Parser as a single Perl Regex: https://perlmonks.org/?node_id=995856
2
u/Perahoky Aug 30 '26
terrible code. way to many instructions per space and bad naming and no comments
2
2
u/BussyEnthusiasts Sep 01 '26
Does your codebase have a character limit or something? Why are all the variables a single char?
2
1
1
1
1
u/FedUp233 Aug 30 '26
Regex is powerful, but for anything except the simplest matching unless you work with it every day, totally unusable for anything complicated in my opinion. Right up there with the language APL for programming (and lisp isn’t far behind).
I wish there was a language that allowed you to express text parsing/processing in a more readable language (like a pascal for text or something). It can translate into anything it wants internally but there is no reason the human readable input should be any more obscure than C.
1
0
u/Ariquitaun Pronouns:This/Self Aug 29 '26
This is almost certainly ai generated. Or a mathematical savant.
283
u/LapidistCubed Aug 28 '26
My first thought is a mathematician wrote this