====== Literals ====== Literals are direct representations of variable values.\\ ===== Numerical literals ===== A numerical literal is a decimal number or a number with a certain base (e.g. binary). The underscore "_" character, inserted between the numbers in a numerical literal, is not relevant.\\ |Literal ^Example | |Integer number |-12, 0, 123_4, +986 | |Floating point number |0.0, 0.4560, 3.14159_26 | |Floating point number with an exponent|-1.34E-12, -1.34e-12 | |Binary number |2#1111_1111 (255 decimal) | |Octal number |8#377 (255 decimal) | |Hexadecimal number |16#FF, 16#ff (255 decimal) | |Boolean number |0, 1, FALSE, TRUE | |Typed number |INT#-123, WORD#16#AEF, BOOL#0, BOOL#FALSE| Note: In FUPLA, literals in other numeric systems than decimal, such asĀ 16#FF, are not supported. All values must be entered as decimal, e.g. 255. Examples: REAL#+INF, REAL#-INF, LREAL#+INF, LREAL#-INF //literals of special values of real numbers (+- infinity) REAL#NAN, LREAL#NAN //literals of special values of real numbers (not a number) ===== Character literals ===== Character literals are one- or two bytes coded characters. A one-byte literal is a sequence of zero or more characters with a prefix and ending using a single quote character ('). A two-byte literal is a sequence of zero or more characters with a prefix and ending using a single quote character ("). | ^Literal ^Example | |One-byte characters |Empty string |'' | | |One character |'A' | | |Typed string |STRING#'OK'| |Two-byte characters |Empty string |"" | | |One character |"A" | | |Typed string |STRING#"OK"| |Combinations of two characters|Dollar sign |$$ | | |Apostroph |$' | | |Quotation mark |$" | | |Line feed (new line, 16#0A)|$L or $I | | |Newline (new line) |$N | | |Form feed (new page) |$P | | |Carriage return (16#0D) |$R | | |Tabelator (16#09) |$T | ===== Time literals ===== Time literals represent a duration of an event, or time period elapsed between start and end of an event. Units are days, hours, minutes, seconds, fractions of seconds, and combinations of the above. ^Literal^Description| |d |Day | |h |Hour | |m |Minute | |s |Second | |ms |Millisecond| |us |Microsecond| |ns |Nanosecond | Examples: T#14ms, TIME#14ms, T#-14ms, LT#14.7s, t#25h15m, TIME#5m_20s_500ms ===== Time literals of absolute time ===== ^Literal ^Example | |Date |DATE#1984-06-25, date#1984-06-25, D#1984-06-25, d#1984-06-25 | |Time of day |TIME_OF_DAY#15:36:55.36, TOD#15:36:55.36 | |Date and time|DATE_AND_TIME#1984-06-25-15:36:55.360227400, DT#1984-06-25-15:36:55.360227400|