The following Table gives lexemes that are represented differently in each language
Lexeme |
Representation |
Initial Lexical State |
Changed Lexical State |
Language Specific? |
|---|---|---|---|---|
| AMPERSAND | "&" | LNORM | Unchanged | C, C++, Fortran |
| ANDAND | "&&" | LNORM | Unchanged | C, C++ |
| ANDassign | "&=" | LNORM | Unchanged | C, C++ |
| ARROW | "->" | LNORM | Unchanged | C, C++ |
| ARROWstar | "->*" | LNORM | Unchanged | C++ |
| ASSIGNOP | "=" | LNORM | Unchanged | C, C++, Fortran |
| BRACKETS | "[]" | LNORM | Unchanged | C, C++ |
| CLCL | "::" | LNORM | Unchanged | C++ |
| DECR | "--" | LNORM | Unchanged | C, C++ |
| DIVassign | "/=" | LNORM | Unchanged | C, C++ |
| DOTstar | ".*" | LNORM | Unchanged | C++ |
| ELLIPSIS | "..." | LNORM | Unchanged | C++ |
| EQ | "==" ".EQ." (IS[ \t]+)? ("="|("EQUAL"([ \t]+"TO")?)) |
LNORM | Unchanged | C, C++, Fortran Fortran |
| ERassign | "^=" | LNORM | Unchanged | C, C++ |
| GE | ".GE." (IS[ \t]+)? "NOT"[ \t]+ ("(IS[ \t]+)? (">="|("GREATER"([ \t]+"THAN")?[ \t] +"OR"[ \t]+"EQUAL"([ \t]+"TO")?)) |
LNORM | Unchanged | Fortran |
| GREATER | ".GT." (IS[ \t]+)? (">"|("GREATER"([ \t]+"THAN")?)) |
LNORM | Unchanged | Fortran |
| HAT | "^" | LNORM | Unchanged | C, C++ |
| INCR | "++" | LNORM | Unchanged | C, C++ |
| LBRACKET | "[" | LNORM | Unchanged | C, C++, Fortran |
| LE | ".LE." (IS[ \t]+)?"NOT"[ \t]+ (">"|("GREATER"([ \t]+"THAN")?)) (IS[ \t]+)? (" "OR"[ \t]+"EQUAL"([ \t]+"TO")?)) |
LNORM | Unchanged | Fortran |
| LESS | ".LT." (IS[ \t]+)? ("<"|("LESS"([ \t]+"THAN")?)) |
LNORM | Unchanged | Fortran |
| LOGAND | ".AND." | LNORM | Unchanged | Fortran |
| LOGEQV | ".EQV." | LNORM | Unchanged | Fortran |
| LOGNEQV | ".NEQV." | LNORM | Unchanged | Fortran |
| LOGNOT | ".NOT." | LNORM | Unchanged | Fortran |
| LOGOR | ".OR." | LNORM | Unchanged | Fortran |
| LOGXOR | ".XOR." | LNORM | Unchanged | Fortran |
| LS | "<<" | LNORM | Unchanged | C, C++ |
| LSassign | "<<=" | LNORM | Unchanged | C, C++ |
| MINUS | "-" | LNORM | Unchanged | C, C++, Fortran |
| MINUSassign | "-=" | LNORM | Unchanged | C, C++ |
| MOD | "%" MOD |
LNORM | Unchanged | C, C++ |
| MODassign | "%=" | LNORM | Unchanged | C, C++ |
| MULTassign | "*=" | LNORM | Unchanged | C, C++ |
| NE | "!=" ".NE." "/=" (IS[ \t]+)? "NOT"[ \t]+("="|("EQUAL"([ \t]+"TO")?)) |
LNORM | Unchanged | C, C++ Fortran |
| NOT | "!" NOT |
LNORM | Unchanged | C, C++ |
| OPENSLASH | "(/" | LNORM | Unchanged | Fortran |
| OR | "|" OR |
LNORM | Unchanged | C, C++ |
| OROR | "||" | LNORM | Unchanged | C, C++ |
| ORassign | "|=" | LNORM | Unchanged | C, C++ |
| PARENS | "()" | LNORM | Unchanged | C++ |
| PERCENT | "%" | LNORM | Unchanged | Fortran |
| PLUS | "+" | LNORM | Unchanged | C, C++, Fortran |
| PLUSassign | "+=" | LNORM | Unchanged | C, C++ |
| QUESTION | "?" | LNORM | Unchanged | C, C++ |
| RBRACKET | "]" | LNORM | Unchanged | C, C++, Fortran |
| RS | ">>" | LNORM | Unchanged | C, C++ |
| RSassign | ">>=" | LNORM | Unchanged | C, C++ |
| SLASHCLOSE | "/)" | LNORM | Unchanged | Fortran |
| SLASHSLASH | "//" | LNORM | Unchanged | Fortran |
| STARSTAR | "**" | LNORM | Unchanged | Fortran |
| TWIDDLE | "~" | LNORM | Unchanged | C, C++ |