=================
old - declaration
=================

new a;
const a;
a;
new Float:b = 0.23;
Float:b = 0.23;
new a = 0
+1;
new bool:c;
new _:d = 2, Float:e, bool:f = true, String:g = 'c';
new Action:ac = INVALID_HANDLE;
Action:ac = INVALID_HANDLE;
vec[MAXPLAYERS + 1];
vec[] = {1, 2};

---

(source_file
  (old_global_variable_declaration
    (old_variable_declaration
      name: (identifier)
    )
  )
  (old_global_variable_declaration
    storage_class: (variable_storage_class)
    (old_variable_declaration
      name: (identifier)
    )
  )
  (old_global_variable_declaration
    (old_variable_declaration
      name: (identifier)
    )
  )
  (old_global_variable_declaration
    (old_variable_declaration
      type: (old_type
        (old_builtin_type)
      )
      name: (identifier)
      initialValue: (float_literal)
    )
  )
  (old_global_variable_declaration
    (old_variable_declaration
      type: (old_type
        (old_builtin_type)
      )
      name: (identifier)
      initialValue: (float_literal)
    )
  )
  (old_global_variable_declaration
    (old_variable_declaration
      name: (identifier)
      initialValue: (binary_expression
        left: (int_literal)
        right: (int_literal)
      )
    )
  )
  (old_global_variable_declaration
    (old_variable_declaration
      type: (old_type
        (old_builtin_type)
      )
      name: (identifier)
    )
  )
  (old_global_variable_declaration
    (old_variable_declaration
      type: (old_type
        (old_builtin_type)
      )
      name: (identifier)
      initialValue: (int_literal)
    )
    (old_variable_declaration
      type: (old_type
        (old_builtin_type)
      )
      name: (identifier)
    )
    (old_variable_declaration
      type: (old_type
        (old_builtin_type)
      )
      name: (identifier)
      initialValue: (bool_literal)
    )
    (old_variable_declaration
      type: (old_type
        (old_builtin_type)
      )
      name: (identifier)
      initialValue: (char_literal
        (character)
      )
    )
  )
  (old_global_variable_declaration
    (old_variable_declaration
      type: (old_type
        (identifier)
      )
      name: (identifier)
      initialValue: (identifier)
    )
  )
  (old_global_variable_declaration
    (old_variable_declaration
      type: (old_type
        (identifier)
      )
      name: (identifier)
      initialValue: (identifier)
    )
  )
  (old_global_variable_declaration
    (old_variable_declaration
      name: (identifier)
      (fixed_dimension
        (binary_expression
          left: (identifier)
          right: (int_literal)
        )
      )
    )
  )
  (old_global_variable_declaration
    (old_variable_declaration
      name: (identifier)
      (dimension)
      initialValue: (array_literal
        (int_literal)
        (int_literal)
      )
    )
  )
)


============
old - arrays
============

new a[16];
new players[MAXPLAYERS + 1];
new String:d[12] = "hello world";
new Float:origin[3] = {1.0, 2.0, 3.0};
new numbers[] = {1, 3, 5, 7, 9};
static chatColorInfo[][ChatColorInfo] =
{
	// Code , alternative	, Is Supported?	Chat color subject type 		   Color name
	{ '\x01', 0	/* None	 */	, true,			ChatColorSubjectType_none,	},	// Orange
	{ '\x03', 9	/* Green */	, true,			ChatColorSubjectType:2		},	// Red
	{ '\x03', 9	/* Green */	, true,			ChatColorSubjectType_player	},	// Team
};

---

(source_file
  (old_global_variable_declaration
    (old_variable_declaration
      name: (identifier)
      (fixed_dimension
        (int_literal)
      )
    )
  )
  (old_global_variable_declaration
    (old_variable_declaration
      name: (identifier)
      (fixed_dimension
        (binary_expression
          left: (identifier)
          right: (int_literal)
        )
      )
    )
  )
  (old_global_variable_declaration
    (old_variable_declaration
      type: (old_type
        (old_builtin_type)
      )
      name: (identifier)
      (fixed_dimension
        (int_literal)
      )
      initialValue: (string_literal)
    )
  )
  (old_global_variable_declaration
    (old_variable_declaration
      type: (old_type
        (old_builtin_type)
      )
      name: (identifier)
      (fixed_dimension
        (int_literal)
      )
      initialValue: (array_literal
        (float_literal)
        (float_literal)
        (float_literal)
      )
    )
  )
  (old_global_variable_declaration
    (old_variable_declaration
      name: (identifier)
      (dimension)
      initialValue: (array_literal
        (int_literal)
        (int_literal)
        (int_literal)
        (int_literal)
        (int_literal)
      )
    )
  )
  (old_global_variable_declaration
    visibility: (visibility)
    (old_variable_declaration
      name: (identifier)
      (dimension)
      (fixed_dimension
        (identifier)
      )
      initialValue: (array_literal
        (comment)
        (array_literal
          (char_literal
            (escape_sequence)
          )
          (int_literal)
          (comment)
          (bool_literal)
          (identifier)
        )
        (comment)
        (array_literal
          (char_literal
            (escape_sequence)
          )
          (int_literal)
          (comment)
          (bool_literal)
          (old_type_cast
            type: (old_type
              (identifier)
            )
            value: (int_literal)
          )
        )
        (comment)
        (array_literal
          (char_literal
            (escape_sequence)
          )
          (int_literal)
          (comment)
          (bool_literal)
          (identifier)
        )
        (comment)
      )
    )
  )
)


=============================
old - multidimensional arrays
=============================

new g_DefaultColors_c[7][4] = { {255,255,255,255}, {255,0,0,255}, {0,255,0,255}, {0,0,255,255}, {255,255,0,255}, {0,255,255,255}, {255,0,255,255} };

---

(source_file
  (old_global_variable_declaration
    (old_variable_declaration
      name: (identifier)
      (fixed_dimension
        (int_literal)
      )
      (fixed_dimension
        (int_literal)
      )
      initialValue: (array_literal
        (array_literal
          (int_literal)
          (int_literal)
          (int_literal)
          (int_literal)
        )
        (array_literal
          (int_literal)
          (int_literal)
          (int_literal)
          (int_literal)
        )
        (array_literal
          (int_literal)
          (int_literal)
          (int_literal)
          (int_literal)
        )
        (array_literal
          (int_literal)
          (int_literal)
          (int_literal)
          (int_literal)
        )
        (array_literal
          (int_literal)
          (int_literal)
          (int_literal)
          (int_literal)
        )
        (array_literal
          (int_literal)
          (int_literal)
          (int_literal)
          (int_literal)
        )
        (array_literal
          (int_literal)
          (int_literal)
          (int_literal)
          (int_literal)
        )
      )
    )
  )
)


============================
old - variable storage class
============================

decl String:txt[256];
new const a = 2;
static bool:b = false;
static const base64_cFillChar			= '=';
static const String:base64_sTable[] =
  // 0000000000111111111122222222223333333333444444444455555555556666
  // 0123456789012345678901234567890123456789012345678901234567890123
    "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
static const base64_decodeTable[] = {
//  0   1   2   3   4   5   6   7   8   9
    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,   // 240 - 249
    0,  0,  0,  0,  0,  0                    // 250 - 256
};
static localIPRanges[] =
{
	10	<< 24,				// 10.
	127	<< 24 | 1		,	// 127.0.0.1
	127	<< 24 | 16	<< 16,	// 127.16.
	192	<< 24 | 168	<< 16,	// 192.168.
};
public numHaleKills = 0;

---

(source_file
  (old_global_variable_declaration
    (old_variable_declaration
      (old_type
        (old_builtin_type)
      )
      (identifier)
      (fixed_dimension
        (int_literal)
      )
    )
  )
  (old_global_variable_declaration
    (variable_storage_class)
    (old_variable_declaration
      (identifier)
      (int_literal)
    )
  )
  (old_global_variable_declaration
    (visibility)
    (old_variable_declaration
      (old_type
        (old_builtin_type)
      )
      (identifier)
      (bool_literal)
    )
  )
  (old_global_variable_declaration
    (visibility)
    (variable_storage_class)
    (old_variable_declaration
      (identifier)
      (char_literal
        (character)
      )
    )
  )
  (old_global_variable_declaration
    (visibility)
    (variable_storage_class)
    (old_variable_declaration
      (old_type
        (old_builtin_type)
      )
      (identifier)
      (dimension)
      (comment)
      (comment)
      (string_literal)
    )
  )
  (old_global_variable_declaration
    (visibility)
    (variable_storage_class)
    (old_variable_declaration
      (identifier)
      (dimension)
      (array_literal
        (comment)
        (int_literal)
        (int_literal)
        (int_literal)
        (int_literal)
        (int_literal)
        (int_literal)
        (int_literal)
        (int_literal)
        (int_literal)
        (int_literal)
        (comment)
        (int_literal)
        (int_literal)
        (int_literal)
        (int_literal)
        (int_literal)
        (int_literal)
        (comment)
      )
    )
  )
  (old_global_variable_declaration
    (visibility)
    (old_variable_declaration
      (identifier)
      (dimension)
      (array_literal
        (preproc_binary_expression
          (int_literal)
          (int_literal)
        )
        (comment)
        (preproc_binary_expression
          (preproc_binary_expression
            (int_literal)
            (int_literal)
          )
          (int_literal)
        )
        (comment)
        (preproc_binary_expression
          (preproc_binary_expression
            (int_literal)
            (int_literal)
          )
          (preproc_binary_expression
            (int_literal)
            (int_literal)
          )
        )
        (comment)
        (preproc_binary_expression
          (preproc_binary_expression
            (int_literal)
            (int_literal)
          )
          (preproc_binary_expression
            (int_literal)
            (int_literal)
          )
        )
        (comment)
      )
    )
  )
  (old_global_variable_declaration
    (visibility)
    (old_variable_declaration
      (identifier)
      (int_literal)
    )
  )
)


========================
old - optional semicolon
========================

new a
new bool:c = true
decl String:arg1[32]
new Handle:h = INVALID_HANDLE
a

---

(source_file
  (old_global_variable_declaration
    (old_variable_declaration
      name: (identifier)
    )
  )
  (old_global_variable_declaration
    (old_variable_declaration
      type: (old_type
        (old_builtin_type)
      )
      name: (identifier)
      initialValue: (bool_literal)
    )
  )
  (old_global_variable_declaration
    (old_variable_declaration
      type: (old_type
        (old_builtin_type)
      )
      name: (identifier)
      (fixed_dimension
        (int_literal)
      )
    )
  )
  (old_global_variable_declaration
    (old_variable_declaration
      type: (old_type
        (identifier)
      )
      name: (identifier)
      initialValue: (identifier)
    )
  )
  (old_global_variable_declaration
    (old_variable_declaration
      name: (identifier)
    )
  )
)
