55 |
| IDENTIFIANT UN POINT DE IDENTIFIANT { point_on $1 $5 } |
| IDENTIFIANT UN POINT DE IDENTIFIANT { point_on $1 $5 } |
56 |
| IDENTIFIANT LE MILIEU DE IDENTIFIANT { middle2 $1 $5 } |
| IDENTIFIANT LE MILIEU DE IDENTIFIANT { middle2 $1 $5 } |
57 |
| IDENTIFIANT LE MILIEU DE IDENTIFIANT ET IDENTIFIANT { middle $1 $5 $7 } |
| IDENTIFIANT LE MILIEU DE IDENTIFIANT ET IDENTIFIANT { middle $1 $5 $7 } |
58 |
| IDENTIFIANT INTERSECTION DE identification_line ET identification_line { intersection $1 $4 $6 } |
| IDENTIFIANT INTERSECTION DE identification_line ET identification_line |
59 |
| IDENTIFIANT ET IDENTIFIANT INTERSECTION DE IDENTIFIANT ET IDENTIFIANT { double_intersection $1 $3 $6 $8 } |
{ intersection $1 $4 $6 } |
60 |
| list_of_point NUM POINT { if (List.length $1)==$2 then MULTIPLE $1 else raise (Wrong_number_declaration ($2,"points")) } |
| IDENTIFIANT ET IDENTIFIANT INTERSECTION DE IDENTIFIANT ET IDENTIFIANT |
61 |
| list_of_point NUM POINT QUELCONQUE { if (List.length $1)==$2 then MULTIPLE $1 else raise (Wrong_number_declaration ($2,"points")) } |
{ double_intersection $1 $3 $6 $8 } |
62 |
|
| list_of_point NUM POINT |
63 |
|
{ if (List.length $1)==$2 |
64 |
|
then MULTIPLE $1 |
65 |
|
else raise (Wrong_number_declaration ($2,"points")) |
66 |
|
} |
67 |
|
| list_of_point NUM POINT QUELCONQUE |
68 |
|
{ if (List.length $1)==$2 |
69 |
|
then MULTIPLE $1 |
70 |
|
else raise (Wrong_number_declaration ($2,"points")) |
71 |
|
} |
72 |
; |
; |
73 |
|
|
74 |
list_of_point: |
list_of_point: |
77 |
; |
; |
78 |
|
|
79 |
declaration_line: |
declaration_line: |
80 |
| IDENTIFIANT UNE DROITE QUELCONQUE { any_line $1 } |
| IDENTIFIANT UNE DROITE QUELCONQUE |
81 |
| IDENTIFIANT LA DROITE PASSANT PAR IDENTIFIANT ET IDENTIFIANT { line $1 $6 $8 } |
{ any_line $1 } |
82 |
| IDENTIFIANT LE SEGMENT PASSANT PAR IDENTIFIANT ET IDENTIFIANT { segment $1 $6 $8 } |
| IDENTIFIANT LA DROITE PASSANT PAR IDENTIFIANT ET IDENTIFIANT |
83 |
| IDENTIFIANT LA DROITE PARALLELE A identification_line PASSANT PAR IDENTIFIANT { parallel $1 $6 $9 } |
{ line $1 $6 $8 } |
84 |
| IDENTIFIANT LE SEGMENT PARALLELE A identification_line PASSANT PAR IDENTIFIANT ET DE LONGUEUR NORME IDENTIFIANT VIRGULE IDENTIFIANT NORME { parallel_seg $1 $6 $9 $14 $16 } |
| IDENTIFIANT LE SEGMENT PASSANT PAR IDENTIFIANT ET IDENTIFIANT |
85 |
| IDENTIFIANT LA DROITE PERPENDICULAIRE A identification_line PASSANT PAR IDENTIFIANT { perpendicular $1 $6 $9 } |
{ segment $1 $6 $8 } |
86 |
| IDENTIFIANT LE SEGMENT PERPENDICULAIRE A identification_line PASSANT PAR IDENTIFIANT ET DE LONGUEUR NORME IDENTIFIANT VIRGULE IDENTIFIANT NORME { perpendicular_seg $1 $6 $9 $14 $16 } |
| IDENTIFIANT LA DROITE PARALLELE A identification_line PASSANT PAR IDENTIFIANT |
87 |
| IDENTIFIANT LA MEDIATRICE DE identification_line { perpendicular_bissector $1 $5 } |
{ parallel $1 $6 $9 } |
88 |
| IDENTIFIANT LA BISSECTRICE DE IDENTIFIANT VIRGULE IDENTIFIANT VIRGULE IDENTIFIANT { bissecting $1 $5 $7 $9 } |
| IDENTIFIANT LE SEGMENT PARALLELE A identification_line PASSANT PAR IDENTIFIANT ET DE LONGUEUR NORME IDENTIFIANT VIRGULE IDENTIFIANT NORME |
89 |
|
{ parallel_seg $1 $6 $9 $14 $16 } |
90 |
|
| IDENTIFIANT LA DROITE PERPENDICULAIRE A identification_line PASSANT PAR IDENTIFIANT |
91 |
|
{ perpendicular $1 $6 $9 } |
92 |
|
| IDENTIFIANT LE SEGMENT PERPENDICULAIRE A identification_line PASSANT PAR IDENTIFIANT ET DE LONGUEUR NORME IDENTIFIANT VIRGULE IDENTIFIANT NORME |
93 |
|
{ perpendicular_seg $1 $6 $9 $14 $16 } |
94 |
|
| IDENTIFIANT LA MEDIATRICE DE identification_line |
95 |
|
{ perpendicular_bissector $1 $5 } |
96 |
|
| IDENTIFIANT LA BISSECTRICE DE IDENTIFIANT VIRGULE IDENTIFIANT VIRGULE IDENTIFIANT |
97 |
|
{ bissecting $1 $5 $7 $9 } |
98 |
; |
; |
99 |
|
|
100 |
declaration_line2: |
declaration_line2: |
101 |
LA DROITE PARENT_OUV IDENTIFIANT VIRGULE IDENTIFIANT PARENT_FER { line ("("^$4^","^$6^")") $4 $6 } |
LA DROITE PARENT_OUV IDENTIFIANT VIRGULE IDENTIFIANT PARENT_FER |
102 |
| LE SEGMENT CROCHET_OUV IDENTIFIANT VIRGULE IDENTIFIANT CROCHET_FER { segment ("["^$4^","^$6^"]") $4 $6 } |
{ line ("("^$4^","^$6^")") $4 $6 } |
103 |
|
| LE SEGMENT CROCHET_OUV IDENTIFIANT VIRGULE IDENTIFIANT CROCHET_FER |
104 |
|
{ segment ("["^$4^","^$6^"]") $4 $6 } |
105 |
; |
; |
106 |
|
|
107 |
identification_line: |
identification_line: |
108 |
IDENTIFIANT { $1 } |
IDENTIFIANT { $1 } |
109 |
| PARENT_OUV IDENTIFIANT VIRGULE IDENTIFIANT PARENT_FER { ("("^$2^","^$4^")") } |
| PARENT_OUV IDENTIFIANT VIRGULE IDENTIFIANT PARENT_FER |
110 |
| CROCHET_OUV IDENTIFIANT VIRGULE IDENTIFIANT CROCHET_FER { ("["^$2^","^$4^"]") } |
{ ("("^$2^","^$4^")") } |
111 |
|
| CROCHET_OUV IDENTIFIANT VIRGULE IDENTIFIANT CROCHET_FER |
112 |
|
{ ("["^$2^","^$4^"]") } |
113 |
|
| CROCHET_OUV IDENTIFIANT IDENTIFIANT CROCHET_FER |
114 |
|
{ ("["^$2^","^$3^"]") } |
115 |
; |
; |
116 |
|
|
117 |
declaration_circle: |
declaration_circle: |