Syntax Error
-
Student: I am getting Syntax Error in my code. Teacher: Show me your code. Student: Here it is:
#include
using namespace std;void main()
{
cout << "Syntax Error" << endl;
}Teacher: Grrrrrr... Where's my coat?
-
Student: I am getting Syntax Error in my code. Teacher: Show me your code. Student: Here it is:
#include
using namespace std;void main()
{
cout << "Syntax Error" << endl;
}Teacher: Grrrrrr... Where's my coat?
-
It's been years I've written as much as a Hello World in C++; would all modern parsers be 100% okay with the fact that there's no space between the #include and the following ?
-
It's been years I've written as much as a Hello World in C++; would all modern parsers be 100% okay with the fact that there's no space between the #include and the following ?
-
Just tried it with a 20 year old borland c++ compiler and it accepts
#include
#include"Mainwindow.h";)
-
It's been years I've written as much as a Hello World in C++; would all modern parsers be 100% okay with the fact that there's no space between the #include and the following ?
A sampling of compilers at [Compiler Explorer](https://godbolt.org/) were happy without spaces. Have to admit that it just looks wrong to me. But then I'm an old fogey ...
"A little song, a little dance, a little seltzer down your pants" Chuckles the clown
-
You can write an entire C/C++ program on a single line, which is why all those punctuation characters are so important.
Richard MacCutchan wrote:
You can write an entire some C/C++ programs on a single line,
FTFY Sometimes you cannot:
#define A "Hello world!\n"
int main(int argc, char** argv)
{
printf (A);
return 0;
}When discussion comes to blanks and line endings I always remember a funny picture from an old book.
Mircea
-
Richard MacCutchan wrote:
You can write an entire some C/C++ programs on a single line,
FTFY Sometimes you cannot:
#define A "Hello world!\n"
int main(int argc, char** argv)
{
printf (A);
return 0;
}When discussion comes to blanks and line endings I always remember a funny picture from an old book.
Mircea
Well technically, the #define is not part of the program, is it?
The difficult we do right away... ...the impossible takes slightly longer.
-
Well technically, the #define is not part of the program, is it?
The difficult we do right away... ...the impossible takes slightly longer.
I would say that "technically", the preprocesor is part of the language (preprocessor is defined in K&R), hence #define is part of the program. However, I'm not going to start a war here about such minutia, and specially not with such nice people. :)
Mircea
-
Richard MacCutchan wrote:
You can write an entire some C/C++ programs on a single line,
FTFY Sometimes you cannot:
#define A "Hello world!\n"
int main(int argc, char** argv)
{
printf (A);
return 0;
}When discussion comes to blanks and line endings I always remember a funny picture from an old book.
Mircea
There exists at least one C/C++ program which can be written in one line. I try to avoid putting any pre-processor directives in my C/C++ files -- an
include
can be specified at the command line for the compilers I use. I somewhat agree that the language of C/C++ and its pre-processor are separate languages. One can create any number of alternative pre-processor languages -- K&R's is just one. Maybe you haven't used Oracle's PRO*C or RDB's version for embedding SQL in C/C++ programs. One thing I want in a pre-processor is the ability to tell it which directives to process and which to leave for later. I have had to jump through hoops to get things to work the way I want. And I do like lots of SPACEs which are not "required":# include
# include "Mainwindow.h"
-
You can write an entire C/C++ program on a single line, which is why all those punctuation characters are so important.
Agreed, but I'm not sure all tokenizers would be happy with the lack of a space, which in this case might be considered as significant as a punctuation character. But then, I suppose when you see something starting with "#include", the next character really should not be part of that token. Especially when it's a reserved character such as < or ", so I suppose the situation is easy enough to detect and allow.
-
A sampling of compilers at [Compiler Explorer](https://godbolt.org/) were happy without spaces. Have to admit that it just looks wrong to me. But then I'm an old fogey ...
"A little song, a little dance, a little seltzer down your pants" Chuckles the clown
-
Well technically, the #define is not part of the program, is it?
The difficult we do right away... ...the impossible takes slightly longer.
If it's not, then neither is #include
Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix
-
There exists at least one C/C++ program which can be written in one line. I try to avoid putting any pre-processor directives in my C/C++ files -- an
include
can be specified at the command line for the compilers I use. I somewhat agree that the language of C/C++ and its pre-processor are separate languages. One can create any number of alternative pre-processor languages -- K&R's is just one. Maybe you haven't used Oracle's PRO*C or RDB's version for embedding SQL in C/C++ programs. One thing I want in a pre-processor is the ability to tell it which directives to process and which to leave for later. I have had to jump through hoops to get things to work the way I want. And I do like lots of SPACEs which are not "required":# include
# include "Mainwindow.h"
PIEBALDconsult wrote:
an include can be specified at the command line for the compilers I use
Interesting! I know how to specify an include path but not a file.
PIEBALDconsult wrote:
Maybe you haven't used Oracle's PRO*C or RDB's version for embedding SQL in C/C++ programs.
No, never! I've been fortunate in that respect ;P The closest I got was using SQLITE :D
Mircea
-
If it's not, then neither is #include
Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix
Completely agree.
The difficult we do right away... ...the impossible takes slightly longer.
-
I would say that "technically", the preprocesor is part of the language (preprocessor is defined in K&R), hence #define is part of the program. However, I'm not going to start a war here about such minutia, and specially not with such nice people. :)
Mircea
Would you care to discuss tabs v. spaces? :)
The difficult we do right away... ...the impossible takes slightly longer.
-
Would you care to discuss tabs v. spaces? :)
The difficult we do right away... ...the impossible takes slightly longer.
*Python has entered the chat*
Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix
-
If it's not, then neither is #include
Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix
Correct. Pre-processor directives are resolved before the code reaches the actual C/C++ compiler. The output of whatever pre-processor(s) you use is the actual code. Or -- as I do -- use a C/C++ pre-processor to resolve directives I put in C# and pass the result to the C# compiler. But you know that.
-
Correct. Pre-processor directives are resolved before the code reaches the actual C/C++ compiler. The output of whatever pre-processor(s) you use is the actual code. Or -- as I do -- use a C/C++ pre-processor to resolve directives I put in C# and pass the result to the C# compiler. But you know that.
I do. I am open to the reasonable disagreement about whether or not the preprocessor is part of the language, even if not part of the compiler itself. I think either position is valid, depending on which rubber ruler you use, and so I'm not really about debating that, but I think that's the question here.
Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix
-
PIEBALDconsult wrote:
an include can be specified at the command line for the compilers I use
Interesting! I know how to specify an include path but not a file.
PIEBALDconsult wrote:
Maybe you haven't used Oracle's PRO*C or RDB's version for embedding SQL in C/C++ programs.
No, never! I've been fortunate in that respect ;P The closest I got was using SQLITE :D
Mircea
Mircea Neacsu wrote:
but not a file
If I recall correctly, with VAX/DEC/Compaq/HP C the switch is
/FirstInclude
. I don't have an installation of Microsoft's C/C++ compiler on this system -- nor Borland's C/C++ or GCC -- but I can try to have a look when I get home. MingW: An example from Implanting Common Code in Unrelated Classes[^] "C:\mingw\bin\cpp" -P -C-include "c:\batfiles\ImplantWarning.h"
D__NAME_SPACE__=%3 -D__CLASS_NAME__=%4 -w "%1" "%2" I'm sure I have it for Microsoft's C/C++ compiler (cl.exe) as well. I have probably referred to it in the past. Oh!: Re: c program - C / C++ / MFC Discussion Boards[^] F:\Projects>cl.exe /nologo/FIstdio.h
/DSEMI=; nosem.c