interpreter.txt 792 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. @startuml
  2. /' INTERPRETER '/
  3. class Client
  4. class Context {
  5. - token
  6. - private_map
  7. + set(in token, in bool)
  8. + get(in token) : bool
  9. }
  10. interface AbstractExpression {
  11. # interpret()
  12. }
  13. class TerminalExpression {
  14. - private_token
  15. + interpret() : Context
  16. }
  17. class NonterminalExpression {
  18. - private_AbstractExp1
  19. - private_AbstractExp2
  20. + interpret() : Context
  21. }
  22. hide empty members
  23. Context <- Client
  24. Client --> AbstractExpression
  25. AbstractExpression <|-- TerminalExpression
  26. AbstractExpression <|-- NonterminalExpression
  27. AbstractExpression --* NonterminalExpression
  28. note as N1
  29. <b><color:royalBlue>Interpreter</color></b>
  30. <b>Type:</b> Behavioral
  31. Permet de décrire une grammaire pour un
  32. langage et d'instancier son interpreteur.
  33. end note
  34. @enduml