Module: AdLint::Cc1::ScannerConstants

Included in:
Scanner, Language::C
Defined in:
lib/adlint/cc1/scanner.rb

Overview

DESCRIPTION

Constants for scanning the C source code.

Constant Summary collapse

KEYWORDS =

DESCRIPTION

C keywords table.

{
  "sizeof" => :SIZEOF,
  "typedef" => :TYPEDEF,
  "extern" => :EXTERN,
  "static" => :STATIC,
  "auto" => :AUTO,
  "register" => :REGISTER,
  "inline" => :INLINE,
  "restrict" => :RESTRICT,
  "char" => :CHAR,
  "short" => :SHORT,
  "int" => :INT,
  "long" => :LONG,
  "signed" => :SIGNED,
  "unsigned" => :UNSIGNED,
  "float" => :FLOAT,
  "double" => :DOUBLE,
  "const" => :CONST,
  "volatile" => :VOLATILE,
  "void" => :VOID,
  "_Bool" => :BOOL,
  "_Complex" => :COMPLEX,
  "_Imaginary" => :IMAGINARY,
  "struct" => :STRUCT,
  "union" => :UNION,
  "enum" => :ENUM,
  "case" => :CASE,
  "default" => :DEFAULT,
  "if" => :IF,
  "else" => :ELSE,
  "switch" => :SWITCH,
  "while" => :WHILE,
  "do" => :DO,
  "for" => :FOR,
  "goto" => :GOTO,
  "continue" => :CONTINUE,
  "break" => :BREAK,
  "return" => :RETURN,
  "__typeof__" => :TYPEOF,
  "__alignof__" => :ALIGNOF
}.freeze
KEYWORD_VALUES =
KEYWORDS.keys.to_set.freeze
PUNCTUATORS =

DESCRIPTION

C punctuators table.

[
  "{", "}", "(", ")", "[", "]", ";", ",", "::", ":", "?", "||",
  "|=", "|", "&&", "&=", "&", "^=", "^", "==", "=", "!=", "!",
  "<<=", "<=", "<<", "<", ">>=", ">=", ">>", ">", "+=", "++", "+",
  "->*", "->", "-=", "--", "-", "*=", "*", "/=", "/", "%=", "%",
  "...", ".*", ".", "~",
].to_set.freeze