2012-04-07 14 views
23

Uczę się C z "Programming in C' by Stephen Kochan.Co oznacza "Language Construct"?

Chociaż autor od początku uważał, aby nie pomylić uczuć ze żargonem, ale czasami używał kilku terminów, nie wyjaśniając ich znaczenia. Rozumiałem znaczenie wielu takich terminów za pomocą Internetu.

Jednak nie mogłem zrozumieć dokładnie znaczenia wyrażenia "konstrukt językowy", a niestety strona internetowa nie dostarcza dobrego wyjaśnienia.

Biorąc pod uwagę, że jestem początkującym, co oznacza "konstrukcja językowa"?

+1

Czy próbowałeś [wikipedia] (http://en.wikipedia.org/wiki/Language_construct)? –

+3

Tak, próbowałem .. nie mogłem zrozumieć koncepcji. myślę, jestem dorosły początkujący, powolny w nauce. – KawaiKx

+0

Należy zauważyć, że termin ten jest używany dość luźno, aby odnieść się do pewnego podzbioru składni języka/semantyki. –

Odpowiedz

29

Najpierw musisz zrozumieć, co to jest constructed language. Wszystkie języki programowania są skonstruowanymi językami (przeczytaj odniesienie). Możesz następnie przeczytać trochę o compiler construction, w tym również reference.

Wracając do Twojego pytania, rozważ to: język angielski (język naturalny) posiada znaki „AZ/0-9/,;” ...” których używamy do budowy «Słowa»i używamy reguł językowych do budowania zdań ze słów, więc w języku angielskim konstrukt jest tym, co budujemy z tokenów.

Rozważmy ten przykład: wyobraź sobie, że jeśli zdecydujesz się zbudować dom, podstawowe materiały, z których możesz skorzystać to: piasek, żelazo, drewno, cement, woda (tylko cztery dla prostoty). Wszystko, co zbudujesz z tych 4 lub 5+ przedmiotów, będzie "KONSTRUKCJĄ", co z kolei pomoże ci zbudować dom.

Mam celowo pominięte szczegóły, aby jeszcze bardziej uprościć odpowiedź; mam nadzieję, że to jest pomocne.

+3

+1 za prostotę –

+0

Jestem zaskoczony, że nie zaakceptowałeś moich edycji językowych - to by jeszcze bardziej podniosła twoją cenną odpowiedź. Och, dobrze – lifebalance

+0

@Holebalance wybacz mi, że nie widzę żadnego z nich :( – sakhunzai

3

Nie widząc kontekstu, w którym używane jest wyrażenie, nie jestem pewien, ale ogólnie wyrażenie "konstrukt językowy" oznacza kombinację słów kluczowych, gramatyki i struktury języka kodowania. Zasadniczo, jak sformatować/napisać/skonstruować kawałek kodu.

+0

"Właściwe użycie wcięć staje się jeszcze bardziej krytyczne, gdy mamy do czynienia z bardziej wyrafinowanymi konstrukcjami programowymi, takimi jak zagnieżdżone dla instrukcji". "oczywiście, język C zapewnia specjalną konstrukcję językową do radzenia sobie z taką sytuacją (mówienie o statystykach)". "teraz, gdy znasz już wszystkie podstawowe konstrukcje pętli dostarczone przez język C". – KawaiKx

+1

Tak w tym zdaniu jest używane dokładnie tak, jak myślałem. Mówi się o "bardziej wyrafinowanych" elementach języka kodowania C (w tym przypadku zagnieżdżonego "for-statement". "Instrukcje-for" są tylko jednym z wielu elementów kodu języka używanych do budowania kawałka kodu. konstrukcje to pętle for, instrukcje if, while-loops itp. – hofnarwillie

+0

Proszę oznaczyć jako odpowiedź, jeśli było to pomocne ... :) – hofnarwillie

9

Konstrukcja językowa jest składnią języka. Na przykład poniższe nie jest konstruktem język w C, który pozwala kontrolować przepływ programu:

if (condition) { 
    /* when condition is true */ 
} else { 
    /* when condition is false */ 
} 

one zwykle używają terminu język skonstruować ponieważ są to części większości języków programowania, ale może być napisany inaczej, w zależności od języka. Na przykład, podobna konstrukcja językowa w Bourne Shell byłoby:

if COMMAND; then 
    # when command returns 0 
else 
    # when command returns anything else 
fi 

Zadaniem tej konstrukcji jest taka sama, jednak sposób, w jaki został on napisany jest nieco inna.

Mam nadzieję, że to pomoże. Jeśli potrzebujesz więcej szczegółów, możesz zrobić trochę więcej badań. Jak sugeruje jeden z komentarzy, Wikipedia może być pomocna.

3

Są to jednostki podstawowe, z których zbudowany jest język. Nie można ich użyć jako funkcji wycofywania funkcji. Są one bezpośrednio wywoływane przez analizator składni. Zawiera wszystkie style składni, semantyki i kodowania języka. Więcej wyjaśnień można uzyskać pod adresem this question.

3

Wikipedia definicja:

Konstrukt język jest składniowo dopuszczalny częścią programu, który może być utworzony z jednego lub większej liczby żetonów leksykalnych zgodnie z regułami języka programowania. Termin Konstrukcje językowe jest często używany jako synonim struktury kontrolnej i nie należy go mylić z funkcją.

1

powiedzmy chcesz utworzyć klasę zawierającą metody i właściwości, więc:

Construct jest architektura klasie masz zamiar stworzyć. Architektura klasy składa się z metod i właściwości utworzonych przez Ciebie za pomocą gotowych narzędzi (takich jak: „if”, „inny”, „switch”, „break”, etc)

To moje zdanie na konstrukcie .

0

W odniesieniu do języka programowania

Language Constructs mean the basic constructs of a programming languge e.g 
1. Conditions (if, else, switch) 
2. Loops (For, While, Do-while) etc 
0

C jest językiem strukturalnym więc podczas kompilacji kodu wszystko rzecz idzie oświadczenie stwierdzeniem. Dlatego konieczne staje się prawidłowe złożenie oświadczenia. To umieszczenie, to znaczy prawidłowe wstawienie twojego zdania, jest twoją konstrukcją językową, może to być błąd składniowy lub błąd logiczny.