Module: CTokenizer::Expression

Defined in:
lib/dbc/ctokenizer.rb

Constant Summary collapse

NEWLINE =
/\r\n|\n\r|\r|\n/
SPACE_1 =
/[\t ]+/
SPACE_2 =
/\\[\t ]*#{NEWLINE}/
SPACE =
%r(#{SPACE_1}|#{SPACE_2})
IDENTIFIER =
/[a-zA-Z_]\w*/
COMMENT_1 =
/\/\*.*?\*\//m
COMMENT_2 =

scarry comment - bad style - beward of ‘' at end of line…

/\/\/(?:\\[ \t]*#{NEWLINE}|[^\r\n])+/m
COMMENT =
%r(#{COMMENT_1}|#{COMMENT_2})m
SYMBOL_1 =
/\+=|\-=|\*=|\/=|%=|\&=|\^=|\|=|<<=|>>=|##|\.\.\./
SYMBOL_2 =
/==|!=|<=|>=|->|\&\&|\|\||<<|>>|\+\+|\-\-|<:|:>|<%|%>/
SYMBOL_3 =
/[\(\)\[\]\{\}\|\&\+\-\/\*%<>\.,=!:;\?\^~#]/
SYMBOL =
%r(#{SYMBOL_1}|#{SYMBOL_2}|#{SYMBOL_3})
CHARACTER =
/L?'(?:[^']|\\.)*'/
STRING =
/L?"(?:[^"]|\\.)*"/
FLOAT_1 =
/[0-9]+#{f_e}#{f_s}?/
FLOAT_2 =
/[0-9]*\.[0-9]+#{f_e}?#{f_s}?/
FLOAT =

FLOAT_3 causes ambiguities… :( FLOAT_3 = /[0-9]+.*#f_e?#f_s?/ FLOAT = %r(#FLOAT_1|#FLOAT_2|#FLOAT_3)

%r(#{FLOAT_1}|#{FLOAT_2})
INTEGER_1 =
/0[xX][0-9a-fA-F]+#{i_s}/
INTEGER_2 =
/0[0-7]+#{i_s}/
INTEGER_3 =
/[0-9]+#{i_s}/
INTEGER =
%r(#{INTEGER_1}|#{INTEGER_2}|#{INTEGER_3})