Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

erro na atribuicao de valores #31

Closed
Aristidescosta opened this issue Jul 6, 2024 · 6 comments
Closed

erro na atribuicao de valores #31

Aristidescosta opened this issue Jul 6, 2024 · 6 comments
Labels
💎 recompensa-8 Pagamos recompensa: 8 dólares hacktoberfest melhoramento Nova funcionalidade ou melhoramento de funcionalidade existente

Comments

@Aristidescosta
Copy link
Contributor

Ao executar o seguinte código, o programa simplesmente funciona, embora que tem um erro, que é a tipagem da variável

programa 
{ 
  funcao inicio () 
  {
    caracter message
    message = "olá mundo"
    escreva(message)
  } 
}

Resposta atual é : olá mundo
Sendo que deveria gerar um erro como o seguinte:
Não é possível atribuir um valor do tipo 'cadeia' a uma variável do tipo 'caracter' (linha 10, posição 4) - (refêrencia tirada do portugol studio)

@leonelsanchesdasilva leonelsanchesdasilva added melhoramento Nova funcionalidade ou melhoramento de funcionalidade existente 💎 recompensa-8 Pagamos recompensa: 8 dólares labels Jul 7, 2024
@Aristidescosta
Copy link
Contributor Author

@leonelsanchesdasilva

import { TIPO_NATIVO, TipoInferencia } from "../interpretador";
export interface VariavelInterface {
    valor: any;
    tipo: TipoInferencia | TIPO_NATIVO;
    subtipo?: 'texto' | 'número' | 'longo' | 'lógico';
    imutavel: boolean;
    nomeReferencia?: string;
}

export type TipoInferencia = "texto" | "número" | "longo" | "vetor" | "dicionário" | "nulo" | "lógico" | "função" | "símbolo" | "objeto" | "módulo";

Acredito que o tipo de inferenciador esteja errado, isto porque os tipos não combinam com os do Portugol Studio

Além de que, este TipoInferencia vem do núcleo do Delegua.
Acredito que não seja a tipagem correcta, esperarei pela resposta do Sr. Leonel quanto a esse assunto.

@leonelsanchesdasilva
Copy link
Contributor

@Aristidescosta Podes implementar novos tipos, e sobrescrever todos os lugares que usam os tipos de Delégua.

@Aristidescosta
Copy link
Contributor Author

@leonelsanchesdasilva poderia adicionar o tag hacktoberfest???

@leonelsanchesdasilva
Copy link
Contributor

@Aristidescosta Atualizei todos os nossos pacotes para terem o topic hacktoberfest.

@Aristidescosta
Copy link
Contributor Author

@leonelsanchesdasilva

programa
{
    funcao inicio()
    {
        caracter test
        leia(test)
        escreva(test)
    }
}

Estou agora a ver, a resolução deste erro vai fazer com que eu ajustes outros arquivos, isto porque no caso do exemplo se eu digitar Olá mundo o que deverá ser retornado é O, mas atualmente ele retorna toda a string

@leonelsanchesdasilva
Copy link
Contributor

Resolvido por #34.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💎 recompensa-8 Pagamos recompensa: 8 dólares hacktoberfest melhoramento Nova funcionalidade ou melhoramento de funcionalidade existente
Projects
None yet
Development

No branches or pull requests

2 participants