edgepedia

Concrete syntax of programming and query languages

14 articles

C data types

C data types: the ISO C (ISO/IEC 9899) type system, including char, signed and unsigned integers, floating and C23 BitInt and decimal types, sizes, ranges, and semantics.

C syntax

C syntax: the grammar, lexical rules, and constraints of the C programming language defined by ISO/IEC 9899 (C23, 2024), including the typedef ambiguity that makes C not context-free and the phase-ordered translation model.

Case sensitivity

Case sensitivity: whether uppercase and lowercase letters count as distinct in comparisons, identifiers, searches, and file names. Windows/macOS file systems are case-insensitive, Linux case-sensitive; databases differ by collation; W3C and RFC 7405 define matching rules.

Comment (computer programming)

Comments in programming: non-executable source-code annotations ignored by compilers, written in block, line, and documentation forms (C / /, Python #, Javadoc), used for intent, maintenance, and pedagogy, with measured effects on comprehension and known hazards from outdated comments.

Escape sequences in C

Escape sequences in C are backslash-initiated notations in string and character literals for special characters: \n, \t, octal and hexadecimal byte escapes, and \u/\U Unicode names, extended by C23 delimited forms.

Exception handling

Exception handling: language mechanism (try/catch/finally, throw/raise) that interrupts normal program flow on runtime errors and transfers control to a handler; pioneered by PL/I, shaped by CLU's termination model, central to C++, Java, C#, Python, Ada.

Function prototype

Function prototype: a C/C++ function declaration giving name, return type, and parameter types without a body, enabling compile-time argument checking; old-style K&R forms removed in C23.

Here document

Here document (heredoc): a Unix shell redirection that feeds lines up to a delimiter to a command's stdin; related here string (<<<). Bash syntax, expansion rules, POSIX standardization, portability pitfalls.

Include guard

Include guard: C/C++ preprocessor idiom (#ifndef/#define/#endif, also called header or macro guard) that prevents a header's contents from being processed twice per translation unit, avoiding redefinition errors; contrasted with non-standard #pragma once.

Inline function

An inline function is a function marked with the inline keyword (C99/C++) or #[inline] (Rust). It hints the compiler to expand the body at call sites and, in C++, permits identical definitions across translation units; compilers may ignore the hint.

List of Java keywords

List of Java keywords: the 51 reserved ASCII keywords of the Java Language Specification plus 17 contextual keywords such as var, record, sealed, and yield, with const and goto reserved but unused.

Operators in C and C++

Operators in C and C++: the shared operator set, 17-level C++ precedence and associativity rules, the C versus C++ conditional-operator difference, and overloading limits.

Python syntax and semantics

Python syntax and semantics: the rules defining valid Python programs and their execution meaning, described in the Python Language Reference. Dynamically typed, ABC-descended, annually released, formally modeled by semantics such as λπ.

Syntax (programming languages)

Syntax in programming languages: the grammar rules deciding which strings are valid programs and their structure, distinct from semantics. Covers concrete vs abstract syntax, BNF from ALGOL 60, ambiguity, and empirical evidence on novice-friendly syntax.