Module: Unparser::Constants
- Included in:
- Emitter
- Defined in:
- lib/unparser/constants.rb
Overview
All unparser constants maybe included in other libraries.
Constant Summary collapse
- UNARY_OPERATORS =
All unary operators of the ruby language
symbol_set %w( ! ~ -@ +@ )
- BINARY_OPERATORS =
All binary operators of the ruby language
symbol_set %w( + - * / & | && || << >> == === != <= < <=> > >= =~ !~ ^ ** % )
- COMMENT =
'#'
- WS =
' '
- NL =
"\n"
- T_DOT =
'.'
- T_LT =
'<'
- T_DLT =
'<<'
- T_AMP =
'&'
- T_ASN =
'='
- T_SPLAT =
'*'
- T_DSPLAT =
'**'
- T_ASR =
'=>'
- T_PIPE =
'|'
- T_DCL =
'::'
- T_NEG =
'!'
- T_OR =
'||'
- T_AND =
'&&'
- T_COLON =
':'
- M_PO =
'('
- M_PC =
')'
- SNGL_QUOTE =
"'"
- DBL_QUOTE =
'"'
- K_DO =
Keywords
'do'
- K_DEF =
'def'
- K_END =
'end'
- K_BEGIN =
'begin'
- K_CASE =
'case'
- K_CLASS =
'class'
- K_SELF =
'self'
- K_ENSURE =
'ensure'
- K_DEFINE =
'define'
- K_MODULE =
'module'
- K_RESCUE =
'rescue'
- K_RETURN =
'return'
- K_UNDEF =
'undef'
- K_DEFINED =
'defined?'
- K_PREEXE =
'BEGIN'
- K_POSTEXE =
'END'
- K_SUPER =
'super'
- K_BREAK =
'break'
- K_RETRY =
'retry'
- K_REDO =
'redo'
- K_NEXT =
'next'
- K_FALSE =
'false'
- K_TRUE =
'true'
- K_IF =
'if'
- K_AND =
'and'
- K_ALIAS =
'alias'
- K_ELSE =
'else'
- K_ELSIF =
'elsif'
- K_FOR =
'for'
- K_NIL =
'nil'
- K_NOT =
'not'
- K_IN =
'in'
- K_OR =
'or'
- K_UNLESS =
'unless'
- K_WHEN =
'when'
- K_WHILE =
'while'
- K_UNTIL =
'until'
- K_YIELD =
'yield'
- K_ENCODING =
'__ENCODING__'
- K_EEND =
'__END__'
- K_FILE =
'__FILE__'
- K_THEN =
'then'
- TERMINATED =
Nodes that can be emitted in tokens that terminate their expression.
These nodes dont require parentheses to be exactly reproduced in context of a more complex expression.
symbol_set %w( int float self kwbegin const regexp args lvar ivar gvar cvar if case module class sclass super yield zsuper break next defined? str block while loop until def defs true false nil array hash sym return match_current_line )
- DEFAULT_DELIMITER =
', '.freeze
- CURLY_BRACKETS =
IceNine.deep_freeze(%w({ }))
- KEYWORDS =
constants.each_with_object([]) do |name, keywords| value = const_get(name).freeze next unless name.to_s.start_with?('K_') keywords << value.to_sym end.to_set.freeze