123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- import {
- I18N_LEXER_TYPES,
- I18N_LEXER_COMMANDS,
- I18N_LEXER_BOOLVAL,
- I18N_LEXER_LOGICOP,
- makeLexer,
- I18N_LANG_LIBS,
- I18N_LANG_FUNCS,
- } from "../lexer";
- // i18n lexer strings for the language.
- const types: I18N_LEXER_TYPES = {
- // types
- RK_REAL: "real",
- RK_INTEGER: "inteiro",
- RK_BOOLEAN: "logico",
- RK_CHARACTER: "caractere",
- RK_STRING: "cadeia",
- };
- const commands: I18N_LEXER_COMMANDS = {
- // RK_VOID is not formally part of Types since it doesn't have a valid value/instance
- RK_VOID: "vazio",
- // commands
- RK_PROGRAM: "programa",
- RK_SWITCH: "escolha",
- RK_CASE: "caso",
- RK_DEFAULT: "contrario",
- RK_CONST: "const",
- RK_FUNCTION: "funcao",
- RK_RETURN: "devolva",
- RK_FOR: "para",
- RK_FOR_ALT: "repita_para",
- RK_FOR_FROM: "de",
- RK_FOR_TO: "ate",
- RK_FOR_PASS: "passo",
- RK_BREAK: "pare",
- RK_DO: "repita",
- RK_DO_UNTIL: "ate_que",
- RK_WHILE: "enquanto",
- RK_WHILE_ALT: "repita_enquanto",
- RK_IF: "se",
- RK_ELSE: "senao",
- RK_REFERENCE: "&",
- };
- const boolVal: I18N_LEXER_BOOLVAL = {
- RK_FALSE: "falso",
- RK_TRUE: "verdadeiro",
- };
- const logicOp: I18N_LEXER_LOGICOP = {
- RK_LOGICAL_NOT: "nao",
- RK_LOGICAL_AND: "E",
- RK_LOGICAL_OR: "OU",
- };
- const langLibs: I18N_LANG_LIBS = {
- $mathLib: "Matematica",
- $ioLib: "ES",
- $strLib: "Texto",
- $arrayLib: "Arranjo",
- $langLib: "Conversao",
- };
- const langFuncs: I18N_LANG_FUNCS = {
- main_function: "inicio",
- $read: "leia",
- $write: "escreva",
- $numElements: "total_de_elementos",
- $matrixLines: "total_de_linhas",
- $matrixColumns: "total_de_colunas",
- $substring: "subcadeia",
- $length: "comprimento",
- $uppercase: "caixa_alta",
- $lowercase: "caixa_baixa",
- $charAt: "caractere_na_posicao",
- $isReal: "e_real",
- $isInt: "e_inteiro",
- $isBool: "e_logico",
- $castReal: "como_real",
- $castInt: "como_inteiro",
- $castBool: "como_logico",
- $castString: "como_cadeia",
- $castChar: "como_caractere",
- $sin: "seno",
- $cos: "cosseno",
- $tan: "tangente",
- $sqrt: "raiz_quadrada",
- $pow: "potencia",
- $log: "logaritmo",
- $abs: "modulo",
- $negate: "trocar_sinal",
- $invert: "inverter_valor",
- $max: "maximo",
- $min: "minimo",
- $rand: "numero_aleatorio",
- };
- // END i18n lexer strings
- export const ptLexer = makeLexer({
- commands,
- boolVal,
- logicOp,
- types,
- langLibs,
- langFuncs,
- });
|