// Copyright (c) 2011, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

/// @assertion A numeric literal is either a decimal or hexadecimal integer of
/// arbitrary size, or a decimal double.
///
/// numericLiteral:
///   NUMBER|
///   HEX_NUMBER
///;
/// NUMBER:
///   DIGIT+ ('.' DIGIT+)? EXPONENT? |
///  '.' DIGIT+ EXPONENT?
/// ;
/// EXPONENT:
///   ('e' | 'E') ('+' | '-')? DIGIT+
/// ;
/// HEX NUMBER:
///   '0x' HEX DIGIT+ |
///   '0X' HEX DIGIT+
/// ;
/// HEX DIGIT:
///   'a'..'f' |
///   'A'..'F' |
///   DIGIT
/// ;
/// @description Checks that leading zeros don't affect the number.
/// @author iefremov

import '../../../Utils/expect.dart';

main() {
  Expect.equals(1, 01);
  Expect.equals(1,
      0000000000000000000000000000000000000000000000000000000000000000000001);
  Expect.equals(-1,
      -0000000000000000000000000000000000000000000000000000000000000000000001);
  Expect.equals(6031769,
      0000000000000000000000000000000000000000000000000000000000000000000006031769);
}
