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