{
  "token_missing_one": "Erro de sintaxe: Espera-se $0, mas encontrou-se $1 na linha:$2, coluna:$3",
  "token_missing_two": "Erro de sintaxe: Esperava-se $0 ou $1 mas encontrou-se $2 na liha:$3, coluna: $4",
  "eos_missing": "Falta uma nova linha ou ; na linha: $0, coluna: $1",
  "invalid_type": "$0 na linha: $1, coluna: $2 é um tipo inválido. Os tipos válidos são: $3",
  "invalid_array_dimension": "A dimensão inválida na linha: $0, coluna: $1. Insira um $2 ou identificador válido do mesmo tipo.",
  "invalid_array_size": "O tamnho do vetor/matriz excede o máximo de 2 na linha $0",
  "extra_lines": "Nenhum texto é permitido após '}' em 'programa {...}'",
  "invalid_main_return": "A função $0 deve retornar $1 na linha $2",
  "invalid_var_declaration": "Erro na linha $0. Variáveis só podem ser declarados no corpo principal da função e de preferência nas primeiras linhas.",
  "invalid_break_command": "Erro na linha $0. O comando $1 não pode ser usado fora de uma estrutura de repetição ou 'escolha...caso'",
  "invalid_terminal": "Não é possível utilizar $0 na expressão da linha: $1, coluna: $2. Tente um valor númerico, variável ou chamada de função.",
  "const_not_init": "Erro na linha: $0, coluna: $1. Uma variável declarada como const deve ser inicializada",
  "id_missing": "Esperava-se um identificador, mas encontrou-se $0 na linha: $1, coluna: $2",
  "invalid_id_format": "$0 na linha: $1, coluna: $2 não é um identificador válido. O símbolo '.' não é permitido neste contexto.",
  "main_missing": "A função principal não foi encontrada",
  "invalid_global_var": "Erro crítico: Chamada inválida da função initGlobal fora do contexto BASE",
  "not_implemented": "Erro interno crítico: A função definida pelo sistema $0 não foi implementada.",
  "function_missing": "A função $0 não foi encontrada",
  "function_missing_full": "A função $0 na linha: $1, coluna: $2 não foi encontrada",
  "invalid_parameters_size_full": "Erro na linha $0: a quantidade de parâmetros fornecidos à função $1 está incorreta. Esperava-se $2, encontrou-se $3.",
  "invalid_parameters_size": "A quantidade de parâmetros fornecidos à função $0 está incorreta. Esperava-se $1, encontrou-se $2",
  "invalid_ref_full": "A expressão $0 fornecida como parâmetro para a função $1 na linha $2 não é válida para esta função. Use uma variável ou posição de vetor.",
  "invalid_ref": "A expressão $0 fornecida como parâmetro para a função $1 não é válida para esta função. Use uma variável ou posição de vetor.",
  "invalid_parameter_type_full": "A expressão $0 fornecida como parâmetro para a função $1 na linha $2 não é compatível com o tipo esperado.",
  "invalid_parameter_type": "A expressão $0 fornecida como parâmetro para a função $1 não é compatível com o tipo esperado.",
  "unknown_command_full": "Erro interno crítico: comando desconhecido encontrado na linha $0",
  "unknown_command": "Erro interno crítico: comando desconhecido encontrado!",
  "loop_condition_type_full": "Erro na linha: $0, coluna $1: a condição dos laços de repetição deve ser do tipo lógico",
  "loop_condition_type": "A condição dos laços de repetição deve ser do tipo lógico",
  "endless_loop_full": "Possível laço infinito detectado no seu código. Verifique a linha $0",
  "endless_loop": "Possível laço infinito detectado no seu código.",
  "for_condition_type_full": "Erro na linha: $0, coluna $1: a condição de parada do comando para(...) deve ser do tipo lógico",
  "for_condition_type": "A condição de parada do comando para(...) deve ser do tipo lógico",
  "if_condition_type_full": "Erro na linha: $0, coluna $1: a condição de um comando se...senao deve ser do tipo lógico",
  "if_condition_type": "A condição de um comando se...senao deve ser do tipo lógico",
  "invalid_return_type_full": "Erro na linha $0: a expressão não produz um tipo compatível com a função $1. Tipo esperado: $2.",
  "invalid_return_type": "A expressão não produz um tipo compatível com a função $0. Tipo esperado: $1.",
  "invalid_void_return_full": "Erro na linha $0: a função $1 não pode retornar uma expressão vazia, use uma espressão do tipo $2",
  "invalid_void_return": "A função $0 não pode retornar uma expressão vazia, use uma espressão do tipo $1",
  "unexpected_break_command_full": "Erro interno crítico: comando pare encontrado fora do contexto de um laço/escolha..caso na linha $0",
  "unexpected_break_command": "Erro interno crítico: comando pare encontrado fora do contexto de um laço/escolha..caso",
  "invalid_dimension": "As dimensões de um vetor/matriz devem ser do tipo inteiro",
  "void_in_expression_full": "Erro na linha: $0, coluna: $1: a função $2 não pode ser utilizada em uma expressão pois seu tipo de retorno é vazio",
  "void_in_expression": "A função $0 não pode ser utilizada em uma expressão pois seu tipo de retorno é vazio",
  "invalid_array_access_full": "Identificador $0 na linha: $1, coluna: $2 não se refere a um vetor/matriz válido",
  "invalid_array_access": "Identificador $0 não se refere a um vetor/matriz válido",
  "invalid_matrix_access_full": "Identificador $0 na linha: $1, coluna: $2 não se refere a uma matriz válida",
  "invalid_matrix_access": "Identificador $0 não se refere a uma matriz válida",
  "matrix_column_outbounds_full": "Erro na linha $0: número de colunas $1 é inválido para a matriz $2 que possui $3 colunas",
  "matrix_column_outbounds": "Número de colunas $0 é inválido para a matriz $1 que possui $2 colunas",
  "matrix_line_outbounds_full": "Erro na linha $0: número de linhas $1 é inválido para a matriz $2 que possui $3 linhas",
  "matrix_line_outbounds": "Número de linhas $0 é inválido para a matriz $1 que possui $2 linhas",
  "vector_line_outbounds_full": "Erro na linha $0: número de linhas $1 é inválido para a matriz $2 que possui $3 linhas",
  "vector_line_outbounds": "Número de linhas $0 é inválido para a matriz $1 que possui $2 linhas",
  "vector_not_matrix_full": "Erro na linha $0: $1 não é uma matriz",
  "vector_not_matrix": "$1 não é uma matriz",
  "invalid_infix_op_full": "Erro na linha $0: não é possível aplicar a operação $1 entre os tipos $2 e $3",
  "invalid_infix_op": "Não é possível aplicar a operação $0 entre os tipos $1 e $2",
  "invalid_unary_op_full": "Erro na linha $0: não é possível aplicar a operação $1 ao tipo $2",
  "invalid_unary_op": "Não é possível aplicar a operação $0 ao tipo $1",
  "unknown_op": "Erro interno crítico: Operação $0 desconhecida",
  "duplicate_function": "A função $0 na linha: $1, coluna: $2 já foi definida anteriormente.",
  "duplicate_variable": "A variável $0 na linha: $1, coluna: $2 já foi declarada anteriormente.",
  "main_parameters": "A função inicio não pode ter parâmetros.",
  "symbol_not_found_full": "A variável $0 na linha: $1, coluna: $2 não foi declarada",
  "symbol_not_found": "A variável $0 não foi declarada",
  "array_dimension_not_int_full": "As dimensões de um vetor/matriz na linha: $0 devem ser do tipo inteiro.",
  "array_dimension_not_int": "As dimensões de um vetor/matriz devem ser do tipo inteiro.",
  "array_dimension_not_positive_full": "As dimensões de um vetor/matriz na linha: $0 devem ser valores positivos.",
  "array_dimension_not_positive": "As dimensões de um vetor/matriz devem ser valores positivos.",
  "incompatible_types_full": "O tipo $0 não é compatível com o tipo resultante da expressão na linha $1",
  "incompatible_types": "O tipo $0 não é compatível com o tipo resultante da expressão fornecida.",
  "incompatible_types_array_full": "A expressão $0 é incompatível com o tipo $1 na linha: $2, coluna: $3.",
  "incompatible_types_array": "A expressão $0 é incompatível com o tipo $1.",
  "invalid_case_type_full": "O caso $0 na linha $1 é incompatível com o tipo $2.",
  "invalid_case_type": "O caso $0 é incompatível com o tipo $1.",
  "function_no_return": "A função $0 não possui um retorno acessível. Toda função deve ter ao menos um retorno no seu corpo principal.",
  "invalid_array_literal_type_full": "Erro na linha $0: a expressão $1 não resulta em um tipo compatível.",
  "invalid_array_literal_type": "A expressão $0 não resulta em um tipo compatível.",
  "invalid_array_literal_line_full": "Erro na linha $0: esperava-se $1 linhas mas encontrou $2.",
  "invalid_array_literal_line": "Esperava-se $0 linhas mas encontrou $1.",
  "invalid_array_literal_column_full": "Erro na linha $0: esperava-se $1 colunas mas encontrou $2.",
  "invalid_array_literal_column": "Esperava-se $0 colunas mas encontrou $1."
}
