@startuml
/' INTERPRETER '/
class Client
class Context {
- token
- private_map
+ set(in token, in bool)
+ get(in token) : bool
}
interface AbstractExpression {
# interpret()
}
class TerminalExpression {
- private_token
+ interpret() : Context
}
class NonterminalExpression {
- private_AbstractExp1
- private_AbstractExp2
+ interpret() : Context
}
hide empty members
Context <- Client
Client --> AbstractExpression
AbstractExpression <|-- TerminalExpression
AbstractExpression <|-- NonterminalExpression
AbstractExpression --* NonterminalExpression
note as N1
Interpreter
Type: Behavioral
Permet de décrire une grammaire pour un
langage et d'instancier son interpreteur.
end note
@enduml