Lukier składniowy, lukier syntaktyczny, cukier syntaktyczny (ang. syntactic sugar) – w programowaniu dowolna cecha składni języka, którą można wyeliminować przez proste przekształcenia składniowe, istniejąca jedynie dla wygody programisty. Dzięki lukrowi składniowemu programy stają się czytelniejsze oraz uzyskują bardziej zwartą formę. Termin wymyślony przez .

Przykłady Języki C i C++ Język C x[i] to tylko lukier składniowy dla nieintuicyjnego *(x+i). W języku C wyróżnione pojęcie tablicy istnieje jedynie z punktu widzenia programisty; dla kompilatora jest ono tożsame z pojęciem wskaźnika. W rezultacie wyrażenie x[i] jest w pełni równoważne wyrażeniu *(x+i).

++c teoretycznie może być lukrem składniowym dla instrukcji c=c+1 lub c+=1. Wszystkie trzy formy zapisu powodują inkrementację zmiennej c i zwracają wyrażenie równe jej nowej wartości, chociaż w rzeczywistych kompilatorach równoważność tych wyrażeń zależy od procesora i stosowanej optymalizacji, a instrukcje te mogą różnić się czasem wykonania, a także liczbą bajtów w kodzie maszynowym.