The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
I only use Chrome for testing and still prefer IE for everything else. I really don't trust Google anymore.
I've been hammering on a parsing problem to compute all possible sequences of characters (aka "viable prefixes") that can result from a grammar rule. Permutation is often ugly and complicated and this is no different.
I'm glad I came off a win here recently with my parsing tutorial i published because I'm trying to use that sense of accomplishment to push through this problem.
The worst part of the problem being that I've got it almost working. Maybe you can relate there. "Almost working" is frustration. "Almost working" is a taunt as much as a challenge. "Almost working" can erode moral quicker than few other programming struggles.
So here I go. Deep breath. *cracks knuckles*
*remembers this same "almost working" issue caught me recently on my last problem and I solved it*
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
Well, not so much, really. I know you will all forgive me when I tell you it's about BASIC!
Somewhile A long time ago I had an HP 95C 75Ccalculator for which I wrote what was at that time a fairly useful program, in the only supported language - HP BASIC. It was larger than would fit in the 24K available, so I had jump through all sorts of hoops to get it to fit - like using ASCII characters to represent some integers.
I no longer have the 95C 75C, and have some how lost the manual - unusual for me - but I do still have the code listings, but there are no code comments, as space did not permit. I do have one listing with scribbled comments on it, but they are sparse in the extreme. Now I am in semi-retirement, I thought I would rewrite it for my Android - and here's the problem.
I made heavy use of a built-in function ANGLE(X,Y) but I cannot remember precisely what it did. Bear in mind that I was stuck with one character variable names plus A0 through Z9. I presume it took two sides of a right triangle and returned an angle - but which one?
So, gentlemen, your mission, if you choose to accept it, is burrow away in your memories and let me know which two sides were used to provide the angle.
Thanks for that - I now realize it was the 75C not the 95C that I had and have edited my post, and it came with two manuals - an owners manual and a reference manual. However, they have both manuals on the same CD, so I will take a punt anyway, as there are other things I need to understand - for instance, the HP 'READ' command is not standard BASIC.
Interesting! Astounded that someone would build that! I think I would rather rewrite the program in java, as I am slowly doing, than type in hundreds of lines code on an emulator. Anyhow, I have some planned improvements that would burst a 24K emulator.
Thinking of HP: remember SPL/3000?
The system program language for the HP/3000 -- I never saw any assembler
And it was ... Algol ! Clean, powerful.
Wikipedia says it survived the transition from the 3000 to PA-RISC.
Yes, I remember some SPL. OK, very little. TOS? Was that a register that held a pointer to the top of the stack?
I also remember programming HP "smart terminals" with escape sequences. For the more powerful terminals, one could draw polygons with escape sequences and thus produce various charts and other diagrams.
It's going to save me a lot of time, anyway, as I won't see the CD for at least two weeks.
Having now had a browse, I have also found the table of 256 special characters that I used for integers, so I can now backtrack onto all the many constants used in close to a thousand polynomial terms.