סוכר תחבירי (Syntactic sugar) הוא מבנה תחבירי ההופך קוד לקריא יותר.
תיאור מקובל נוסף לסוכר תחבירי הוא כל תוספת לשפה אשר אינה מרחיבה את יכולות השפה, אך מאפשרת כתיבת קוד קריא יותר.
המושג סוכר תחבירי נטבע לראשונה על ידי פיטר לנדין בשנת 1964 במטרה לתאר את השימוש בתחשיב למדא בשפת ALGOL[1].
שפות מאוחרות כדוגמת CLU, ML, ו-Scheme הרחיבו את משמעות המונח לכל תחביר פנימי נוח של שפה אשר ניתן לתיאור על ידי מבניה הבסיסיים של השפה.[2]
a += b
שקולות ל-a = a + b
בשפת C ובשפות דומות אחרות.[3][4]unless (condition) {...}
במקום הביטוי if (not condition) {...}
. יתר על כן, תנאי יכול לעקוב אחר כל הוראה, כך שהביטוי statement if condition
שקול ל-if (condition) {statement}
, אך הראשון טבעי יותר לקריאה.a[i]
הוא סוכר תחבירי עבור *(a + i)
.[5] בדומה, הסימון a->x
הוא סוכר תחבירי עבור a).x*)
לגישה לשדה של רשומה נתונה.using
בשפת C# מבטיחה שחרור אובייקט מהזיכרון. (וחוסכת קוד שמוודא זאת בין אם התהליך הגיע לסופו ובין אם לאו)A<=>B
), השקול למשל לפונקציית compareTo של Java.{{cite journal}}
: (עזרה)
However, the compound-assignment expression is not equivalent to the expanded version because the compound-assignment expression evaluates expression1 only once, while the expanded version evaluates expression1 twice: in the addition operation and in the assignment operation.
{{cite web}}
: (עזרה)
optimization can [be done] if 'finding x' has no side effects
{{cite web}}
: (עזרה)
{{cite book}}
: (עזרה)