[
  [
    "start",
    [
      "comment",
      "#!/usr/bin/perl"
    ]
  ],
  [
    "block_comment",
    [
      "comment.doc",
      "=begin"
    ]
  ],
  [
    "block_comment",
    [
      "comment.doc",
      " perl example code for Ace"
    ]
  ],
  [
    "start",
    [
      "comment.doc",
      "=cut"
    ]
  ],
  [
    "start"
  ],
  [
    "start",
    [
      "keyword",
      "use"
    ],
    [
      "text",
      " "
    ],
    [
      "identifier",
      "strict"
    ],
    [
      "text",
      ";"
    ]
  ],
  [
    "start",
    [
      "keyword",
      "use"
    ],
    [
      "text",
      " "
    ],
    [
      "identifier",
      "warnings"
    ],
    [
      "text",
      ";"
    ]
  ],
  [
    "start",
    [
      "keyword",
      "my"
    ],
    [
      "text",
      " "
    ],
    [
      "identifier",
      "$num_primes"
    ],
    [
      "text",
      " "
    ],
    [
      "keyword.operator",
      "="
    ],
    [
      "text",
      " "
    ],
    [
      "constant.numeric",
      "0"
    ],
    [
      "text",
      ";"
    ]
  ],
  [
    "start",
    [
      "keyword",
      "my"
    ],
    [
      "text",
      " @"
    ],
    [
      "identifier",
      "primes"
    ],
    [
      "text",
      ";"
    ]
  ],
  [
    "start"
  ],
  [
    "start",
    [
      "comment",
      "# Put 2 as the first prime so we won't have an empty array"
    ]
  ],
  [
    "start",
    [
      "identifier",
      "$primes"
    ],
    [
      "lparen",
      "["
    ],
    [
      "identifier",
      "$num_primes"
    ],
    [
      "rparen",
      "]"
    ],
    [
      "text",
      " "
    ],
    [
      "keyword.operator",
      "="
    ],
    [
      "text",
      " "
    ],
    [
      "constant.numeric",
      "2"
    ],
    [
      "text",
      ";"
    ]
  ],
  [
    "start",
    [
      "identifier",
      "$num_primes"
    ],
    [
      "keyword.operator",
      "++"
    ],
    [
      "text",
      ";"
    ]
  ],
  [
    "start"
  ],
  [
    "start",
    [
      "identifier",
      "MAIN_LOOP"
    ],
    [
      "text",
      ":"
    ]
  ],
  [
    "start",
    [
      "keyword",
      "for"
    ],
    [
      "text",
      " "
    ],
    [
      "keyword",
      "my"
    ],
    [
      "text",
      " "
    ],
    [
      "identifier",
      "$number_to_check"
    ],
    [
      "text",
      " "
    ],
    [
      "lparen",
      "("
    ],
    [
      "constant.numeric",
      "3"
    ],
    [
      "text",
      " "
    ],
    [
      "keyword.operator",
      ".."
    ],
    [
      "text",
      " "
    ],
    [
      "constant.numeric",
      "200"
    ],
    [
      "rparen",
      ")"
    ]
  ],
  [
    "start",
    [
      "lparen",
      "{"
    ]
  ],
  [
    "start",
    [
      "text",
      "    "
    ],
    [
      "keyword",
      "for"
    ],
    [
      "text",
      " "
    ],
    [
      "keyword",
      "my"
    ],
    [
      "text",
      " "
    ],
    [
      "identifier",
      "$p"
    ],
    [
      "text",
      " "
    ],
    [
      "lparen",
      "("
    ],
    [
      "constant.numeric",
      "0"
    ],
    [
      "text",
      " "
    ],
    [
      "keyword.operator",
      ".."
    ],
    [
      "text",
      " "
    ],
    [
      "lparen",
      "("
    ],
    [
      "identifier",
      "$num_primes"
    ],
    [
      "constant.numeric",
      "-1"
    ],
    [
      "rparen",
      "))"
    ]
  ],
  [
    "start",
    [
      "text",
      "    "
    ],
    [
      "lparen",
      "{"
    ]
  ],
  [
    "start",
    [
      "text",
      "        "
    ],
    [
      "keyword",
      "if"
    ],
    [
      "text",
      " "
    ],
    [
      "lparen",
      "("
    ],
    [
      "identifier",
      "$number_to_check"
    ],
    [
      "text",
      " "
    ],
    [
      "keyword.operator",
      "%"
    ],
    [
      "text",
      " "
    ],
    [
      "identifier",
      "$primes"
    ],
    [
      "lparen",
      "["
    ],
    [
      "identifier",
      "$p"
    ],
    [
      "rparen",
      "]"
    ],
    [
      "text",
      " "
    ],
    [
      "keyword.operator",
      "=="
    ],
    [
      "text",
      " "
    ],
    [
      "constant.numeric",
      "0"
    ],
    [
      "rparen",
      ")"
    ]
  ],
  [
    "start",
    [
      "text",
      "        "
    ],
    [
      "lparen",
      "{"
    ]
  ],
  [
    "start",
    [
      "text",
      "            "
    ],
    [
      "keyword",
      "next"
    ],
    [
      "text",
      " "
    ],
    [
      "identifier",
      "MAIN_LOOP"
    ],
    [
      "text",
      ";"
    ]
  ],
  [
    "start",
    [
      "text",
      "        "
    ],
    [
      "rparen",
      "}"
    ]
  ],
  [
    "start",
    [
      "text",
      "    "
    ],
    [
      "rparen",
      "}"
    ]
  ],
  [
    "start"
  ],
  [
    "start",
    [
      "text",
      "    "
    ],
    [
      "comment",
      "# If we reached this point it means $number_to_check is not"
    ]
  ],
  [
    "start",
    [
      "text",
      "    "
    ],
    [
      "comment",
      "# divisable by any prime number that came before it."
    ]
  ],
  [
    "start",
    [
      "text",
      "    "
    ],
    [
      "identifier",
      "$primes"
    ],
    [
      "lparen",
      "["
    ],
    [
      "identifier",
      "$num_primes"
    ],
    [
      "rparen",
      "]"
    ],
    [
      "text",
      " "
    ],
    [
      "keyword.operator",
      "="
    ],
    [
      "text",
      " "
    ],
    [
      "identifier",
      "$number_to_check"
    ],
    [
      "text",
      ";"
    ]
  ],
  [
    "start",
    [
      "text",
      "    "
    ],
    [
      "identifier",
      "$num_primes"
    ],
    [
      "keyword.operator",
      "++"
    ],
    [
      "text",
      ";"
    ]
  ],
  [
    "start",
    [
      "rparen",
      "}"
    ]
  ],
  [
    "start"
  ],
  [
    "start",
    [
      "keyword",
      "for"
    ],
    [
      "text",
      " "
    ],
    [
      "keyword",
      "my"
    ],
    [
      "text",
      " "
    ],
    [
      "identifier",
      "$p"
    ],
    [
      "text",
      " "
    ],
    [
      "lparen",
      "("
    ],
    [
      "constant.numeric",
      "0"
    ],
    [
      "text",
      " "
    ],
    [
      "keyword.operator",
      ".."
    ],
    [
      "text",
      " "
    ],
    [
      "lparen",
      "("
    ],
    [
      "identifier",
      "$num_primes"
    ],
    [
      "constant.numeric",
      "-1"
    ],
    [
      "rparen",
      "))"
    ]
  ],
  [
    "start",
    [
      "lparen",
      "{"
    ]
  ],
  [
    "start",
    [
      "text",
      "    "
    ],
    [
      "support.function",
      "print"
    ],
    [
      "text",
      " "
    ],
    [
      "identifier",
      "$primes"
    ],
    [
      "lparen",
      "["
    ],
    [
      "identifier",
      "$p"
    ],
    [
      "rparen",
      "]"
    ],
    [
      "keyword.operator",
      ","
    ],
    [
      "text",
      " "
    ],
    [
      "string",
      "\", \""
    ],
    [
      "text",
      ";"
    ]
  ],
  [
    "start",
    [
      "rparen",
      "}"
    ]
  ],
  [
    "start",
    [
      "support.function",
      "print"
    ],
    [
      "text",
      " "
    ],
    [
      "string",
      "\"\\n\""
    ],
    [
      "text",
      ";"
    ]
  ],
  [
    "start"
  ],
  [
    "start"
  ]
]