main.js 780 B

1234567891011121314151617181920212223242526272829303132
  1. import {
  2. InputStream,
  3. CommonTokenStream
  4. } from 'antlr4/index';
  5. import { IVProgParser } from './ast/ivprogParser';
  6. import Lexers from '../grammar/';
  7. const lang = 'pt_br';
  8. const ivprogLexer = Lexers[lang];
  9. const input = `programa {
  10. const real PI
  11. const inteiro a[5][5]
  12. }`;
  13. let input2 = 'test = i\nb = i + 1\n';
  14. const lexer = new ivprogLexer(new InputStream(input));
  15. const stream = new CommonTokenStream(lexer);
  16. stream.fill();
  17. let i = 1;
  18. let token = null;
  19. while ((token = stream.LT(i)).type !== ivprogLexer.EOF && token.type !== ivprogLexer.WHITESPACE) {
  20. console.log(`${token.type}-${token.text}`);
  21. console.log('\n')
  22. i++;
  23. }
  24. const anaSin = new IVProgParser(input2, ivprogLexer);
  25. try {
  26. console.log(anaSin.parseIDCommand());
  27. } catch(a) {
  28. console.log(a);
  29. }