syntax是语法上的,而semantic是语义上的。
syntax是结构上的,而semantic是意思上的。
比如,同样的semantic:x = x + y,不同的语言有不同的syntax上的表达:
x += y | C, C++, C#, Java, Perl, Python, Ruby, PHP, etc. |
x := x + y | ALGOL, BCPL, Simula, ALGOL 68, SETL, Pascal, Smalltalk, Modula-2, Ada, Standard ML, OCaml, Eiffel, Object Pascal (Delphi), Oberon, Dylan, VHDL, etc. |
ADD x, y | Assembly languages: Intel 8086 |
LET X = X + Y | BASIC: early |
x = x + y | BASIC: most dialects; Fortran, MATLAB |
Set x = x + y | Caché ObjectScript |
ADD Y TO X GIVING X | COBOL |
(incf x y) | Common Lisp |