module RubyLexer::MacroMixin

Public Instance Methods

callsite_symbol(x) click to toggle source
Calls superclass method
# File lib/macro.rb, line 901
def callsite_symbol(x) #is this even needed?
  return if nextchar==?(
  super
end
caret(ch) click to toggle source
Calls superclass method
# File lib/macro.rb, line 889
def caret(ch) #match /^=?/ (^ or ^=) (maybe unary ^ too) #is this even needed?
  if @last_token_maybe_implicit&&@last_token_maybe_implicit.ident=='(' or 
    unary_op_expected?(ch)
    result=OperatorToken.new(read(1),input_position)
    result.unary=true
    result
  else
    super
  end
end
keyword_macro(*args) click to toggle source

def keyword_v(*args,&block) _keyword_funclike(*args,&block) end was

# File lib/macro.rb, line 845
def keyword_macro(*args)
  keywords_def(*args)
end
keyword_v(str,offset,result) click to toggle source
# File lib/macro.rb, line 871
def keyword_v(str,offset,result)
  result[0]=OperatorToken.new("v",offset)
  @parsestack<<VContext.new(@linenum)
  return result
end
method_params?() click to toggle source
Calls superclass method
# File lib/macro.rb, line 850
def method_params?
  lasttok=last_token_maybe_implicit #last_operative_token
  return super unless lasttok
  case lasttok.ident
  when ';'
    if VContext===@parsestack.last
      @parsestack.pop
      true
    #else super  #need this here...? I think not ....
    end
  when ')'
    @moretokens<<KeywordToken.new("<doubled-parens>")
    @parsestack.pop if VContext===@parsestack.last
    true
  when '.'
    true
  else super
  end
end
rubylexer_modules_init() click to toggle source
Calls superclass method
# File lib/macro.rb, line 835
def rubylexer_modules_init 
  super
  
  @unary_or_binary_chars.add '^'
  @always_binary_chars.remove '^'

#  @FUNCLIKE_KEYWORDS=FUNCLIKE_KEYWORDS @FUNCLIKE_KEYWORDS unless @FUNCLIKE_KEYWORDS==="v" #was
end
symbol_or_op(ch) click to toggle source
Calls superclass method
# File lib/macro.rb, line 878
def symbol_or_op(ch) #is this even needed?
  startpos= input_position
  if readahead(2)==":("
    result= OperatorToken.new(read(1), startpos)
    result.unary=true
    return result
  end
  super
end