Module: Chelsy::Syntax
- Defined in:
- lib/chelsy/ast.rb,
lib/chelsy/ast.rb,
lib/chelsy/ast.rb,
lib/chelsy/ast.rb,
lib/chelsy/ast.rb,
lib/chelsy/syntax.rb
Defined Under Namespace
Modules: Coercers Classes: Any, Coercer, Constraint
Constant Summary collapse
- TopLevel =
Any.new('TopLevel', [Declarative])
- Type =
Any.new('TypeSpecifier', [Chelsy::Type::Base, :void])
- Ident =
Any.new('Identifier', [Symbol])
- Expr =
Any.new('Expression', [ Chelsy::Expr, Syntax::Ident, Coercers::Int, Coercers::String, ])
- ExprOrType =
Any.new('Expression-Or-Type', [Syntax::Expr, Syntax::Type])
- Fragment =
Any.new('Fragment', [Fragment, String])
- Storage =
Any.new('Storage-class specifiers', [:typedef, :extern, :static])
- Param =
Any.new('Parameter', [Syntax::Coercers::Param, :void, :"..."])
- ProtoParam =
Any.new('Prototype Parameter', [Syntax::Param, Symbol, Chelsy::Type::Base])
- ArraySize =
Any.new('ArraySize', [Syntax::Expr])
- BitField =
Any.new('BitField', [ Chelsy::Constant::Integral, Coercers::Int, ])
- StructOrUnionMember =
Any.new('StructOrUnionMember', [Chelsy::Declaration, Chelsy::BitField])
- EnumMember =
Any.new('EnumMember', [Chelsy::EnumMember, Symbol])
- Initializer =
Any.new('Initializer', [Syntax::Expr, Chelsy::Initializer, Chelsy::InitializerList])
- Stmt =
Any.new('Statement', [ Syntax::Expr, # Treats Expr as Expression Statement Chelsy::Stmt, Coercers::Block])
- BlockItem =
Any.new('BlockItem', [ Syntax::Stmt, Chelsy::Declarative])
- Declaration =
Any.new('Declaration', [Chelsy::Declaration])
- StdcPragma =
Any.new('STDC Pragma', [:FP_CONTRACT, :FENV_ACCESS, :CX_LIMITED_RANGE])
- StdcPragmaState =
Any.new('STDC Pragma State', [:ON, :OFF, :DEFAULT])
- MacroDefinition =
Any.new('Raw', [ Chelsy::Raw, Syntax::BlockItem])