PDA

View Full Version : psychotic compiler


Rickertsen2
02-13-2006, 08:25 PM
I figured it out and was right. Apparently the compiler is too stupid to notice if you leave off a semicolon in the last line of a file. This causes major problems when it tries to figure out why it can't compile things.

There's nothing like a compiler that has a list of known problems 24 pages long! :ahh: I'm not kiding. Look in \mcc18\MPLAB-C18-README.txt

Manoel
02-13-2006, 08:33 PM
My compiler has gone psycho for real this time. It insists that there is an error on the first non comment, non compiler directive line of a certian file. If i comment out the entire file or remove it form the project, it picks another file and does the same thing. After several iterations of removing files, it started complaining about LIBRARY FILES!!!! I had this problem once before and the only way i was able to rectify it was to go back to a previous version. Unfortunately i havn't kept any backups this year, so that is not an option. Does anybody know a fix.

I suspect that there is a syntax error somewhere in my code, that the compiler does not know how to properly identify.

Have you tried good old Ctrl + F10?

Rickertsen2
02-13-2006, 08:47 PM
I figured it out and was right. Apparently the compiler is too stupid to notice if you leave off a semicolon in the last line of a file. This causes major problems when it tries to figure out why it can't compile things.

There's nothing like a compiler that has a list of known problems 24 pages long! :ahh: I'm not kiding. Look in \mcc18\MPLAB-C18-README.txt

my friend paul tells me this is a "known standard bug of the c language". :confused: :confused:

"Java 1.0 also suffered this bug"

"The parser falls off the end of the line into another file and then completes it at the next ";" it finds that isnt in a compiler directive or comment"

X-Istence
02-13-2006, 09:32 PM
Your fault for leaving off a semicolon in the first place :P.

One could say this is an inherent flaw with C I guess. Lines are ended with a semicolon so that stuff like this is possible:


int i =
192984392429
298349384394328;


If your error falls at the end of a file, you are supposed to look for a semicolon one has missed.