Esiste un modo rapido per determinare la precedenza e la associazione degli operatori?
-
12-11-2019 - |
Domanda
Conosco Perlop. Quello che sto cercando è una rapida ricerca come il GHCI :info
comando:
ghci> :info (+)
class (Eq a, Show a) => Num a where
(+) :: a -> a -> a
...
-- Defined in GHC.Num
infixl 6 +
dove imparo (+)
è sinistro associativo e ha un livello di precedenza di 6 da infixl 6 +
linea.
Soluzione
Mi rendo conto che non è esattamente quello che chiedi, ma che dire:
perl -MO=Deparse,-p -e "print $a+$b*$c**$d;"
Stampa parentesi attorno alle espressioni in base alla precedenza:
print(($a + ($b * ($c ** $d))));
E per le cose fuori dalla distimazione perl, puoi guardare Perlopquick - Il baccello ha organizzato un modo molto simile a quello specificato nella tua domanda.
Altri suggerimenti
Qualsiasi versione manuale di riferimento e elettronica ragionevole o una struttura di aiuto per la lingua dovrebbe includere la precedenza dell'operatore in un elenco orizzontale o verticale, a partire dalla prima voce come la massima prcettenza.