|
The Dragon Book has a way of making simple things complicated.
Basically, bottom up parsers work by deducing the next rule they need to match from the series of input tokens and previously matched rules they have on the stack.
Top down parsers work by deducing the next rule based on a decision table they run, and it expects the input tokens to match that table
The bottom line is that bottom up parsers primarily use the input tokens to drive their decision making process, using the grammar as a guide. Top down parser primarily use the the grammar to drive their decision making, using the input tokens as a guide.
The other difference is in the way they construct the tree as a result of this.
Bottom up parsers start at the leaves of the tree - the terminal tokens, and compile those into the next level rules, which it then compiles into the next level of rules (containing the rules it matched on the previous level before) and so on until it reaches the root of the tree. You will not get the root of the tree until *after* the entire document is parsed.
Top down parsers start at the root of the tree - the start non terminal in the grammar, and work their way toward the leaves - the terminals. They can yield the first node in the tree as soon as they start parsing - technically even before reading any input.
I find top down parsers to be superior to use, but bottom up parsers are more powerful generally speaking. LL(k) is as powerful as one needs it to be though, so if I can crack that, I can pretty much ignore bottom up parsing moving forward.
Real programmers use butterflies
|
|
|
|
|
Serious question. What is Azure and why should I care?
I'm asking because I see the term alot and I've yet to learn it. I'm solely a Windows developer and have done just fine for 35 years. So, do I need to learn Azure?
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
It's the colour between cyan and blue in the visible spectrum of light.
What, you weren't expecting a serious answer in The Lounge on a Friday afternoon, were you?
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Richard Deeming wrote: It's the colour between cyan and blue in the visible spectrum of light.
How can it be serious when you spelled 'Color' as 'Colour'???
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
Look, just because Noah Webster preferred the Latin root "color" to the Norman word "colour", that doesn't make our (correct) spelling any less valid.
(Maybe we should avoid the argument altogether, and just use "hew" instead?)
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
You say Potato, I say Potato..... oh wait..
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
Richard Deeming wrote: "hew" Not if you're going to cry about it.
:rim-shot:
Software Zen: delete this;
|
|
|
|
|
It's not my favourite way of spelling it, neighbour. Knowing how to apply grammar rules takes some labour, but I try to find some humour in it.
|
|
|
|
|
#008AD8[^]
You're welcome!
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
|
|
|
Azure is not really something you learn, but a bunch of services/hardware that you rent from MS. I've been using Azure services since 2015 to host lob web apps for multiple clients. You may think that it's the same as a webhost but the difference is that the resources you are renting are scalable, both up and out.
One type of Azure service that I am using is a Server 2016 VM hosting multiple customer lob web applications. In the beginning, we rented a total of 4 webapp (.Net btw) slots and 2 sql databases for <$100 a month. When we needed to add more apps, the decision was made to get another domain name and tie it to an Azure VM. It's handling half a dozen customer web apps nicely, and can likely double capacity before I even think about moving up a tier. It's super nice when I need to troubleshoot something for a customer...just rdc in and fix the problem.
They used to give you a 30 day free trial. One word of advice if you decide you need anything Azure...check out the deep discounts you get for annual reservations.
"Go forth into the source" - Neal Morse
"Hope is contagious"
|
|
|
|
|
Thanks for the info. It's interesting you mention hosting because I'm going to be setting up a Web API for an app I'm working on for a client. I was just going to host it in IIS on their server. How/why would using Azure be better?
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
Kevin Marois wrote: Web API for an app I'm working on for a client. I was just going to host it in IIS on their server. How/why would using Azure be better? In that case you could use just an Azure function. Azure Functions Overview | Microsoft Docs[^]
Instead of you setting up IIS, the function just works. Under the hood it might be running IIS or something else (probably IIS though) and could be running on a linux OS or windows. The point is, all you care about is that code, not the infrastructure. But you can still scale up and out as needed.
|
|
|
|
|
Thanks. Good to know!
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
Kevin Marois wrote: How/why would using Azure be better?
If you have easy access to the client's server (for setup/maintenance/troubleshooting) such as through VPN, Azure may not be beneficial or preferable. Also, if this is a one-off or the data source is on-premise, I wouldn't consider Azure.
Consider though if you wanted to offer your software as a service to other clients through your own customized domain name? Another benefit is that you are not subject to upgrade/replacement cycles of your clients. Also, it puts you in control of recurring revenue...no pay, no play.
"Go forth into the source" - Neal Morse
"Hope is contagious"
|
|
|
|
|
kmoorevs wrote: If you have easy access to the client's server (for setup/maintenance/troubleshooting) such as through VPN, Azure may not be beneficial or preferable. Also, if this is a one-off or the data source is on-premise, I wouldn't consider Azure.
Both are true in this case
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
kmoorevs wrote: it puts you in control of recurring revenue...no pay, no play
Well, Microsoft could say the same to you.
|
|
|
|
|
I think the Caribbean is azure; or is it the Mediterranean?
|
|
|
|
|
Maybe this Azure FAQ Part 1[^] article is a start. There may be many others at CP as well. I think @Sander Rossel, wrote a book on Azure if my memory serves.
"the debugger doesn't tell me anything because this code compiles just fine" - random QA comment
"Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst
"I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle
|
|
|
|
|
Kevin Marois wrote: should I care? Yes!
Look at Azure (in its simplest form) as a rich collection of cloud technologies that you can easily use to enhance an existing app without having to re-invent the wheel or having to build out a large amount of server-side infrastructure. I've been spending a lot of time (and having a lot of fun) learning the basics of function apps, cloud TTS, send grid, cloud storage (standard SQL server plus blob storage) and much more. What blows my mind is how easy it is to get started with a specific aspect of Azure that's of interest to you. And this doesn't even begin to touch the slew of AI related functionality (ML, sentiment analysis, image recognition, etc.) that's also available for use.
I Azure!
/ravi
|
|
|
|
|
Thanks!
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
|
Thanks!
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|