lsuperti / assembler-98-raiz

2 stars 1 forks source link

Tokens de nova linha #13

Closed lsuperti closed 1 month ago

lsuperti commented 1 month ago

Terminadores de linha serão tokenizados na etapa de tokenização. No futuro estes tokens serão necessários no processamento de macros pois linhas têm significado semântico em macros.

Por exemplo,

%macro MAC PARAM1 PARAM2 PARAM3
    LOAD PARAM1
    ADD  PARAM2
    STORE PARAM3
%endmacro

nesse caso, os parâmetros são delimitados pelo fim da linha %macro e o valor do macro começa na próxima linha.

Até onde foi possível verificar, a adição destes tokens não afeta a montagem pois tokens desconhecidos são ignorados. De fato, havia um bug, que foi corrigido inadvertidamente com a contagem de linhas e colunas, que fazia com que sempre houvesse um token não inicializado antes do token EOF, e isso não causava problemas se o tipo não fosse aleatoriamente um valor válido.

Por enquanto estes tokens não têm nenhuma utilidade, mas como dito anteriormente, terão uso no processamento de macros.