<commit_before>### Restrictions:

* function declarations, preprocessor macros and single-line comments are allowed at the top level
* preprocessor macros are ignored and don't have any impact on the parsing process
* only basic data types are supported (see below in the grammar)
* unions are not supported
* anonymous structs as function parameters are not supported
* `__attribute__` specifiers for kernel functions are not supported
* `inline` function specifier is not supported in OpenCL C
* Unicode in identifiers is not supported
* type casting in function definitions is not supported
* comments in OpenCL C source files are not supported

### C99 keywords:

    auto break case char const continue default do double else enum extern
    float for goto if inline int long register restrict return short signed
    sizeof static struct switch typedef union unsigned void volatile while
    _Bool _Complex _Imaginary

### OpenCL C 2.0 additional keywords:

* Data types:
        bool
        uchar ushort uint ulong
        half

* Address space qualifiers:

        __global global __local local
        __constant constant __private private
        __generic generic (* reserved *)

* Function qualifiers:
<commit_msg>Remove an outdated line from OpenCLTranslator README<commit_after>### Restrictions:

* function declarations, preprocessor macros and single-line comments are allowed at the top level
* preprocessor macros are ignored and don't have any impact on the parsing process
* only basic data types are supported (see below in the grammar)
* unions are not supported
* anonymous structs as function parameters are not supported
* `__attribute__` specifiers for kernel functions are not supported
* `inline` function specifier is not supported in OpenCL C
* Unicode in identifiers is not supported
* type casting in function definitions is not supported

### C99 keywords:

    auto break case char const continue default do double else enum extern
    float for goto if inline int long register restrict return short signed
    sizeof static struct switch typedef union unsigned void volatile while
    _Bool _Complex _Imaginary

### OpenCL C 2.0 additional keywords:

* Data types:
        bool
        uchar ushort uint ulong
        half

* Address space qualifiers:

        __global global __local local
        __constant constant __private private
        __generic generic (* reserved *)

* Function qualifiers:

{'fraction_non_alphanumeric': 0.036490364903649035, 'fraction_numerical': 0.003280032800328003, 'mean_word_length': 3.909456740442656, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4664274', 'n_tokens_mistral': 573, 'n_tokens_neox': 543, 'n_words': 315}