main.js 741 B

1234567891011121314151617181920212223242526272829303132333435
  1. import { InputStream, CommonTokenStream } from 'antlr4/index';
  2. import Parsers from '../grammar/';
  3. const lang = 'pt_br';
  4. const ivprogParser = Parsers[lang];
  5. const input = `programa {
  6. const real PI = 0x25ff
  7. funcao inteiro casa(inteiro a, inteiro[][] b) {
  8. cadeia s = "teste"
  9. escreva(s)
  10. se (a <= 5) {
  11. a = 10;
  12. }
  13. senao se (a > 5 E a < 10) {
  14. a = 15
  15. } senao {
  16. a = 20
  17. }
  18. }
  19. }`;
  20. const lexer = new ivprogParser(new InputStream(input));
  21. const parser = new CommonTokenStream(lexer);
  22. parser.fill();
  23. let i = 1;
  24. let token = null;
  25. while((token = parser.LT(i)).type !== ivprogParser.EOF && token.type !== ivprogParser.ESPACO) {
  26. console.log(`${token.type}-${token.text}`);
  27. console.log('\n')
  28. i++;
  29. }