Nie ma ustalonego słowa kluczowego związanego z definicjami funkcji. W przypadku jednego słowa kluczowego, które oznacza początek struktury kontroli logicznej, istnieje jedno takie słowo kluczowe.
Mimo że kontekst pozwala nam zrozumieć, w jaki sposób przychodzi int some_name (some_expression) some_other_expressions;
jest to funkcja - w praktyce programistycznej (choć możliwe do wykonania w jednoznaczny sposób) potrzeba dużo wstecznego śledzenia, aby się upewnić, że 3-4-6 symboli w strumieniu tokenów nic się nie zmienia od deklaracji funkcji do czegoś innego.
Analizator składni języka programowania można sklasyfikować według jego podejścia do analizowania, albo pobiera bieżący token z listy tokenów i sprawdza, czy następny token potwierdza "jest to, jeśli" lub "jest to funkcja", lub trwa maksymalne tokeny wyprzedzające (2-3-6?) i potwierdza "może to być funkcja", "teraz, gdy widzę piąty token, to na pewno funkcja" lub używa wstecznego śledzenia ze zmiennym spojrzeniem, które idzie tak daleko w liście symboli, aby upewnić się, że konstrukt, który badamy, nie jest czymś innym.
Może funkcja musi wiedzieć, co zawiera jej ciało. – Afaq
Bez względu na funkcję lub konstrukcję warunkową/pętlową, długość i zawartość bryły muszą być znane podczas kompilacji, więc nawiasy klamrowe są po prostu sposobami porządkowania instrukcji. – sean
odpowiedzi na to pytanie są prawie na pewno spekulatywne. jestem pewien, że to nie dotyczy tematu. –