implicitExplicitNotations.tex 601 B

1234567891011121314151617181920212223242526
  1. \begin{tomcode3}[label=code:implicitExplicitNotations,caption=Illustration des notations explicite et implicite.]
  2. %gom() {
  3. module Contacts
  4. abstract syntax
  5. Personne = Personne(nom:String, prenom:String, age:int)
  6. }
  7. public boolean peutConduireExplicite(Personne p) {
  8. %match(p) {
  9. Personne(_,_,a) -> { return (`a>18); }
  10. }
  11. }
  12. public boolean peutConduireImplicite(Personne p) {
  13. %match(p) {
  14. Personne[age=a] -> { return (`a>18); }
  15. }
  16. }
  17. public boolean peutConduireImplicite2(Personne p) {
  18. %match(p) {
  19. Personne[age=a] && a>18 -> { return true; }
  20. }
  21. return false;
  22. }
  23. \end{tomcode3}