Skip to content

Commit a3b0bba

Browse files
Explicit error for comments, with README link
1 parent 2215299 commit a3b0bba

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

README.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,9 @@ Interaction with the C preprocessor
110110
-----------------------------------
111111

112112
In order to be compilable, C code must be preprocessed by the C preprocessor -
113-
``cpp``. ``cpp`` handles preprocessing directives like ``#include`` and
113+
``cpp``. A compatible ``cpp`` handles preprocessing directives like ``#include`` and
114114
``#define``, removes comments, and performs other minor tasks that prepare the C
115-
code for compilation.
115+
code for compilation. Note that clang's cpp does not remove comments.
116116

117117
For all but the most trivial snippets of C code **pycparser**, like a C
118118
compiler, must receive preprocessed C code in order to function correctly. If

pycparser/c_lexer.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,10 @@ def _make_tok_location(self, token):
209209

210210
bad_octal_constant = '0[0-7]*[89]'
211211

212+
# comments are not supported
213+
unsupported_c_style_comment = r'\/\*'
214+
unsupported_cxx_style_comment = r'\/\/'
215+
212216
# character constants (K&R2: A.2.5.2)
213217
# Note: a-zA-Z and '.-~^_!=&;,' are allowed as escape chars to support #line
214218
# directives with Windows paths as filenames (..\..\dir\file)
@@ -475,6 +479,16 @@ def t_BAD_CONST_OCT(self, t):
475479
msg = "Invalid octal constant"
476480
self._error(msg, t)
477481

482+
@TOKEN(unsupported_c_style_comment)
483+
def t_UNSUPPORTED_C_STYLE_COMMENT(self, t):
484+
msg = "Comments are not supported, see https://github.com/eliben/pycparser#3using."
485+
self._error(msg, t)
486+
487+
@TOKEN(unsupported_cxx_style_comment)
488+
def t_UNSUPPORTED_CXX_STYLE_COMMENT(self, t):
489+
msg = "Comments are not supported, see https://github.com/eliben/pycparser#3using."
490+
self._error(msg, t)
491+
478492
@TOKEN(octal_constant)
479493
def t_INT_CONST_OCT(self, t):
480494
return t

0 commit comments

Comments
 (0)