This page specifies the lexical syntax for Gilda.
GildaStatement := CommentBlock | ([Declaration | Command] [Comment] Line) Comment := {';' | ':' | '&'} Printable* CommentBlock := '<<' ((Printable)* Line)+ '>>' Printable* Line Printable := ' ' to '~' Line := '^M^J' | '^M' | '^J' | '^J^M' Name := Alpha (AlphaNumeric | '.' | '_' | '$' | '#')* EnumeratedName := '.' Alpha (AlphaNumeric | '.' | '_' )* Alpha := 'a' to 'z' | 'A' to 'Z' AlphaNumeric := Alpha | DecimalDigit DecimalDigit := '0' to '9' NumericLiteral := IntegerLiteral | RealLiteral IntegerLiteral := DecimalLiteral | HexLiteral | OctalLiteral | BinaryLiteral DecimalLiteral := [UnaryNumeric] DecimalValue DecimalValue := DecimalDigit ('_' | DecimalDigit)* HexLiteral := '#' ('_')* HexDigit ('_' | HexDigit)* HexDigit := DecimalDigit | ('a' to 'f') | ('A' to 'F') OctalLiteral := '8#' ('_')* '0' to '7' ('_' | '0' to '7')* BinaryLiteral := '2#' ('_')* '0' | '1' ('_' | '0' | '1')* RealLiteral := RealDecimal | RealHex RealDecimal := [UnaryReal] [IntegerValue] '.' [IntegerValue] [Exponent] Exponent := {'e' | 'E'} ['+' | '-'] DecimalDigit+ RealHex := [HexInteger] '.' [HexInteger] [HexExponent] HexExponent := {'p' | 'P'} ['+' | '-'] HexDigit+ UnaryNumeric := '~' | UnaryReal UnaryReal := '+' | '-' TextQuote := (''' SingleQuote* ''') | ('"' DoubleQuote* '"') SingleQuote := (Printable -{''' |'^'}) | SpecialText DoubleQuote := (Printable -{'"' |'^'}) | SpecialText SpecialText := '^^' | ('^' {Alpha | '>' | '?' | '@' | '[' | '\' | ']'} BinaryOperator := BinaryNumeric | '!' BinaryNumeric := BinaryReal | BinaryLogical | '%' | '_*' | '_/' BinaryReal := '+' | '-' | '*' | '/' | '^' BinaryLogical := '/\' | '\/' | '--' | '//' | '\\' | '<<' "'>>' Comparator := ComparatorSign | '_>' | '_<' | '_<=' | '_=<' | '_<=' | '_=>' ComparatorSign := '=' | '~=' | '>' | '<' | '<=' | '=<' | '>=' | '=>' PrimitiveType := NumbericType | "string" NumbericType := IntegerType | "single" | "double" IntegerType := "byte" | "parcel" | "word" | "cell"
Gilda Lexicon
Gilda Statement
![]()