runner.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import { IVProgParser } from './ast/ivprogParser';
  2. import { IVProgProcessor } from './processor/ivprogProcessor';
  3. import {DOMConsole} from './io/domConsole';
  4. import { LanguageService } from './services/languageService';
  5. export function runner () {
  6. const ivprogLexer = LanguageService.getCurrentLexer();
  7. // const lexer = new ivprogLexer(new InputStream(input));
  8. // const stream = new CommonTokenStream(lexer);
  9. // stream.fill();
  10. // let i = 1;
  11. // let token = null;
  12. // while ((token = stream.LT(i)).type !== ivprogLexer.EOF && token.type !== ivprogLexer.WHITESPACE) {
  13. // console.log(`${token.type}-${token.text}`);
  14. // console.log('\n')
  15. // i++;
  16. // }
  17. // const anaSin = new IVProgParser(input, ivprogLexer);
  18. const editor = new JsonEditor('#json-renderer', {});
  19. const domConsole = new DOMConsole("#console");
  20. // proc.interpretAST().then( sto => {
  21. // console.log(sto.applyStore('a'));
  22. // }).catch(e => console.log(e));
  23. try {
  24. $('#btn').click( () => {
  25. const input = $('#input').val();
  26. const analiser = new IVProgParser(input, ivprogLexer);
  27. try {
  28. const data = analiser.parseTree();
  29. const proc = new IVProgProcessor(data);
  30. proc.registerInput(domConsole);
  31. domConsole.clear();
  32. proc.registerOutput(domConsole);
  33. proc.interpretAST().then(sto => editor.load(sto.store))
  34. .catch( e => alert(e));
  35. } catch (error) {
  36. alert(error);
  37. }
  38. });
  39. } catch(a) {
  40. console.log(a);
  41. }
  42. }