ASA.js 687 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. export class ASA {
  2. constructor() {
  3. this.nos = [];
  4. }
  5. }
  6. /*
  7. Raiz(ASA)
  8. |
  9. |
  10. DeclaraçõesGlobais + Funções
  11. DeclaracaoGlobal
  12. |
  13. |
  14. const? TIPO ID (= EAnd)?
  15. Função
  16. |
  17. |
  18. Declaracao => TIPO ID (= EAnd)?
  19. Attribuição => ID = EAnd
  20. IF, WHILE, SWITCH, FuncCall, RETURN
  21. EAnd
  22. |
  23. |
  24. EOR ( 'and' EAnd)?
  25. EOR => ENot ('or' EAnd)?
  26. ENot => 'not'? ER
  27. ER => E ((>=, <=, ==, >, <) E)?
  28. E => factor ((+, -) E)?
  29. factor=> term ((*, /, %) factor)?
  30. term => literal || arrayAccess || FuncCall || ID || '('EAnd')'
  31. arrayAccess
  32. |
  33. |
  34. ID'['E']'('['E']')*
  35. FuncCall
  36. |
  37. |
  38. ID'('p.a')'
  39. p.a => E (, p.a)?
  40. **/