Module: C

Defined in:
lib/cast/node.rb,
lib/cast.rb,
lib/cast/to_s.rb,
lib/cast/c.tab.rb,
lib/cast/c.tab.rb,
lib/cast/parse.rb,
lib/cast/c_nodes.rb,
lib/cast/inspect.rb,
lib/cast/tempfile.rb,
lib/cast/node_list.rb,
lib/cast/preprocessor.rb,
ext/cast/cast.c

Overview

A wrapper around the C preprocessor: RbConfig::CONFIG

Defined Under Namespace

Modules: ArithmeticExpression, BitwiseExpression, LogicalExpression, RelationalExpression, ShiftExpression Classes: Add, AddAssign, Address, And, Array, Arrow, Assign, AssignmentExpression, BinaryExpression, BitAnd, BitAndAssign, BitNot, BitOr, BitOrAssign, BitXor, BitXorAssign, Block, BlockExpression, Bool, Break, Call, Case, Cast, Char, CharLiteral, Comma, Complex, CompoundLiteral, Conditional, Continue, CustomType, Declaration, Declarator, Default, Dereference, DirectType, Divide, DivideAssign, Dot, Enum, Enumerator, Equal, Expression, ExpressionStatement, Float, FloatLiteral, For, Function, FunctionDef, Goto, If, Imaginary, Index, IndirectType, Int, IntLiteral, Label, Less, LessOrEqual, Literal, Member, MemberInit, Mod, ModAssign, More, MoreOrEqual, Multiply, MultiplyAssign, Negative, Node, NodeArray, NodeChain, NodeList, Not, NotEqual, Or, Parameter, ParseError, Parser, PlainLabel, Pointer, Positive, PostDec, PostInc, PostfixExpression, PreDec, PreInc, PrefixExpression, Preprocessor, PrimitiveType, Return, ShiftLeft, ShiftLeftAssign, ShiftRight, ShiftRightAssign, Sizeof, Statement, StringLiteral, Struct, Subtract, SubtractAssign, Switch, Tempfile, TranslationUnit, Type, UnaryExpression, Union, Variable, Void, While

Constant Summary collapse

VERSION =
"0.2.2"
INDENT =
'    '
CORE_C_NODE_CLASSES =

                   CORE_C_NODE_CLASSES

[
  TranslationUnit,
  Declaration,
  Declarator,
  FunctionDef,
  Parameter,
  Enumerator,
  MemberInit,
  Member,

  Block,
  If,
  Switch,
  While,
  For,
  Goto,
  Continue,
  Break,
  Return,
  ExpressionStatement,

  PlainLabel,
  Default,
  Case,

  Comma,
  Conditional,
  Variable,
  BlockExpression,

  Index,
  Call,
  Dot,
  Arrow,
  PostInc,
  PostDec,

  Cast,
  Address,
  Dereference,
  Sizeof,
  Positive,
  Negative,
  PreInc,
  PreDec,
  BitNot,
  Not,

  Add,
  Subtract,
  Multiply,
  Divide,
  Mod,
  Equal,
  NotEqual,
  Less,
  More,
  LessOrEqual,
  MoreOrEqual,
  BitAnd,
  BitOr,
  BitXor,
  ShiftLeft,
  ShiftRight,
  And,
  Or,

  Assign,
  MultiplyAssign,
  DivideAssign,
  ModAssign,
  AddAssign,
  SubtractAssign,
  ShiftLeftAssign,
  ShiftRightAssign,
  BitAndAssign,
  BitXorAssign,
  BitOrAssign,

  StringLiteral,
  CharLiteral,
  CompoundLiteral,
  IntLiteral,
  FloatLiteral,

  Pointer,
  Array,
  Function,

  Struct,
  Union,
  Enum,
  CustomType,

  Void,
  Int,
  Float,
  Char,
  Bool,
  Complex,
  Imaginary
]
@@default_parser =
Parser.new

Class Method Summary collapse

Class Method Details

.default_parserObject



11
12
13
# File 'lib/cast/parse.rb', line 11

def self.default_parser
  @@default_parser
end

.default_parser=(val) ⇒ Object



14
15
16
# File 'lib/cast/parse.rb', line 14

def self.default_parser=(val)
  @@default_parser = val
end

.parse(s, parser = nil) ⇒ Object



50
51
52
# File 'lib/cast/parse.rb', line 50

def self.parse(s, parser=nil)
  TranslationUnit.parse(s, parser)
end