O analisador léxico é o primeiro passo para o desenvolvimento do nosso compilador para a linguagem Jack.
A partir a implementação que fizemos anteriormente, iremos suportar agora os tipos de tokens suportados pela linguagem Jack
Para começar, faça um fork do seguinte repositório, e depois faça um clone em uma pasta local:
https://github.com/profsergiocosta/lab-jackcompiler-java
<aside> 💡 Observem que ele tem mais coisa implementada que eu esperava.
</aside>
Se executarem o teste irá mostrar que não está passando:
Linguagens de programação utilizadas atualmente, suportam vários tipos de números, incluindo ponto flutuante e em diferentes bases, como binário, octal e hexadecimal.
O nosso analisador léxico desenvolvendo para o tradutor simples já reconhece números inteiros positivos, o que já é suficiente para a linguagem Jack.
Se testarmos o nosso analisar léxico atual com a seguinte entrada:
String input = "289";
Scanner scan = new Scanner (input.getBytes());
System.out.println(scan.nextToken());
Irá gerar a seguinte saída: