You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Estou analisando a possibilidade de tratar todas as variaveis como vetores, sendo elas de um unico elemento, só para diminuir o tamanho do codigo mesmo.
Alem disso, se não estou enganado o compilador sempre sabe o tamanho do vetor em tempo de compilação, com isso estou pensando em simplificar e sumir com aquele ArrayRef já que náo precisamos, só precisaremos achar um jeito de carregar a informação do tamanho até a função, isso até simplifica aquela discussão de vetor multidimensional, já que não precisaremos nem mesmo da ultima dimensão para poder usar isso.
The text was updated successfully, but these errors were encountered:
enumType{Integer,Boolean,Agg{type:Type,length:usize},LiteralString// Ainda não sei lidar}enumSymbol{Variable{value:LLVMValueRef,type:Type},Function{value:LLVMValueRef,return_type:Option<Type>,args_type:Vec<Type>}}
Penso tambem que a expressão vai ter de retornar um tipo para tornar mais simples a verificação da validade das operações
id1 + 3//Valido se id == Symbol {..., type: Type::Agg{ type: Type::Int, length: 1 }sort(vetor)// Valido se vetor == Symbol { ..., type: Type::Agg{ type: Type::Int, length: NUM } }
true + 4// Invalido?? não sei se seria estranho mas fazer 4 e true retornar Symbol tbm
let foo : int;
foo = add(3,4)// No caso como symbol retorna o return_type como Type::Agg { type: Type::Int, length: 1 }
expr + expr
Se retornarmos expr como Symbol talvez seja suficiente
Estou analisando a possibilidade de tratar todas as variaveis como vetores, sendo elas de um unico elemento, só para diminuir o tamanho do codigo mesmo.
Alem disso, se não estou enganado o compilador sempre sabe o tamanho do vetor em tempo de compilação, com isso estou pensando em simplificar e sumir com aquele ArrayRef já que náo precisamos, só precisaremos achar um jeito de carregar a informação do tamanho até a função, isso até simplifica aquela discussão de vetor multidimensional, já que não precisaremos nem mesmo da ultima dimensão para poder usar isso.
The text was updated successfully, but these errors were encountered: