I get this message when compiling my program. It's about 25KB big, and MC have 32KB... What should I do to compile bigger programs anway, because program is not completed yet, I have to add some more stuff.
"What does this mean? (English is not my native language.) What is nest in C?"
See my last post (10-Mar-2006 02:56) in this thread: http://www.keil.com/forum/docs/thread7364.asp
This does seem to be a frequent problem - so do Keil (ARM) need to consider using simplified English in their error messages? Or should they provide translations for error messages? If so, what languages? Maybe this is a service that local distributors could provide?
Thank you guys...
I have solved the problem. It seems that compiler have some bugs...
The problem was to many if > else if > ... > else if parsing in one block...
It seems that compiler have some bugs
No, it doesn't, because ...
... that is nesting, too. Under certain circumstances, C blocks don't need to be enclosed in parentheses - and this is one of them. Every else if introduces an additional level of nesting, because the else refers to the preceding if, not to the first if.
With indentation, this becomes a little clearer:
if(...) ... else if(...) ... else if(...) ... else if(...) ... else if(...) ...
This happens because C does not have an "elseif" that would place all additional cases at the same level of nesting as the first if.
"This does seem to be a frequent problem - so do Keil (ARM) need to consider using simplified English in their error messages?"
Maybe with more examples and explanation what that mean or how to prevent it...
All other messages I saw there was pretty clean and I could understand them. They even had some instructions what to do.... But this message was hard to understand for 2 reasons. I didn't know what nesting in C means, and how much complex is complex enough...
English is just fine. Everything we use or does on PC is on english. And it's fine by me... But some thing I think that I wouldn't understand if you write it to me on my native language (croatian)...
So, more explanation on english is much better choice... ;) Thank you for asking... ;)
Chris, Andy, Thank you... Guys, this was really fast response, and best support I have ever had...
There is always a limit to parse depth, and the minimum depth a compiler must support is part of the ANSI C standard. It is not a bug for Keil to have a limit of 32.