Module: Estreet

Defined in:
lib/estreet.rb,
lib/estreet/loops.rb,
lib/estreet/literal.rb,
lib/estreet/program.rb,
lib/estreet/version.rb,
lib/estreet/function.rb,
lib/estreet/statement.rb,
lib/estreet/exceptions.rb,
lib/estreet/expression.rb,
lib/estreet/identifier.rb,
lib/estreet/if_statement.rb,
lib/estreet/block_statement.rb,
lib/estreet/break_statement.rb,
lib/estreet/call_expression.rb,
lib/estreet/empty_statement.rb,
lib/estreet/array_expression.rb,
lib/estreet/return_statement.rb,
lib/estreet/switch_statement.rb,
lib/estreet/unary_expression.rb,
lib/estreet/binary_expression.rb,
lib/estreet/labeled_statement.rb,
lib/estreet/member_expression.rb,
lib/estreet/object_expression.rb,
lib/estreet/expression_statement.rb,
lib/estreet/variable_declaration.rb,
lib/estreet/assignment_expression.rb

Defined Under Namespace

Modules: Function Classes: ArrayExpression, AssignmentExpression, BinaryExpression, BlockStatement, BreakStatement, CallExpression, ContinueStatement, DoWhileStatement, EmptyStatement, Expression, ExpressionStatement, ForStatement, FunctionDeclaration, FunctionExpression, Identifier, IfStatement, LabeledStatement, Literal, LogicalExpression, MemberExpression, NewExpression, Node, ObjectExpression, Program, Property, ReturnStatement, Statement, SwitchCase, SwitchStatement, ThisExpression, ThrowStatement, UnaryExpression, VariableDeclaration, VariableDeclarator, WhileStatement

Constant Summary collapse

UNARY_OPERATORS =
%w{ - + ! ~ typeof void delete }.freeze
BINARY_OPERATORS =
%w{
  == != === !==
  < <= > >= << >> >>>
  + - * / % | ^ & in
  instanceof
}.freeze
ASSIGNMENT_OPERATORS =
%w{ = += -= *= /= %= <<= >>= >>>= |= ^= &= }.freeze
LOGICAL_OPERATORS =
%w{ || && }.freeze
VERSION =
"0.0.1"

Class Method Summary collapse

Class Method Details

.assert_valid_operator(acceptable, actual) ⇒ Object



17
18
19
20
21
# File 'lib/estreet.rb', line 17

def self.assert_valid_operator(acceptable, actual)
  unless acceptable.include?(actual)
    raise ArgumentError, "Invalid operator: #{operator} (valid operators: #{acceptable.join(' ')})"
  end
end