diff --git a/grammar.g4 b/grammar.g4 index f0aeb44..c1e7826 100644 --- a/grammar.g4 +++ b/grammar.g4 @@ -201,10 +201,10 @@ OPERATOR_TAIL1 : [+\-*/%^!?|&,<>=]+\. ; OPERATOR_TAIL2 : [+\-*/%^!?|&,<>=]+\.\. ; OPERATOR_TAIL3 : [+\-*/%^!?|&,<>=]+\.\.\. ; -FLOAT_NUMBER_LITERAL : [0-9]+ '.' [0-9]+ 'f' ; -DOUBLE_NUMBER_LITERAL : [0-9]+ '.' [0-9]+ ; -INT_LITERAL : [0-9]+ 'i' ; -LONG_LITERAL : [0-9]+ 'l' ; +FLOAT_NUMBER_LITERAL : '-'? [0-9]+ '.' [0-9]+ 'f' ; +DOUBLE_NUMBER_LITERAL : '-'? [0-9]+ '.' [0-9]+ ; +INT_LITERAL : '-'? [0-9]+ 'i' ; +LONG_LITERAL : '-'? [0-9]+ 'l' ; INDEX_LITERAL : [0-9]+ ; STRING_LITERAL : '\"' ([^\\\'] | ( '\\' [\u0000-\u00FF]))* '\"' ; UNICODE_STRING_LITERAL : '\"' ([^\\\'] | ( '\\' [\u0000-\uFFFF]))* '\"u'; diff --git a/grammar.js b/grammar.js index a6c084a..60b0bdf 100644 --- a/grammar.js +++ b/grammar.js @@ -306,8 +306,8 @@ module.exports = grammar({ operator_tail2: $ => /[+\-*/%^!?|&,<>=]+\.\./, operator_tail3: $ => /[+\-*/%^!?|&,<>=]+\.\.\./, - float_literal: $ => /[0-9]+\.[0-9]+f/, - double_literal: $ => /[0-9]+\.[0-9]+/, + float_literal: $ => /\-?[0-9]+\.[0-9]+f/, + double_literal: $ => /\-?[0-9]+\.[0-9]+/, int_literal: $ => /\-?[0-9]+i/, long_literal: $ => /\-?[0-9]+l/, index_literal: $ => /[0-9]+/,