1 module nxt.ada_defs; 2 3 /// Logical Operators 4 enum operatorsLogical = ["and", "or", "xor"]; 5 6 /// Relational Operators 7 enum operatorsRelational = ["/=", "=", "<", "<=", ">", ">="]; 8 9 /// Binary Adding Operators 10 enum operatorsBinaryAdding = ["+", "-", "&"]; 11 12 /// Unary Adding Operators 13 enum operatorsUnaryAdding = ["+", "-"]; 14 15 /// Multiplying Operators 16 enum operatorsMultiplying = ["*", "/", "mod", "rem"]; 17 18 /// Parens 19 enum operatorsParens = ["(", ")", "[", "]", "{", "}"]; 20 21 /// Assignment 22 enum operatorsAssignment = [":="]; 23 24 /// Other Operators 25 enum operatorsOther = ["**", "not", "abs", "in", 26 ".", ",", ";", "..", 27 "<>", 28 "<<", 29 ">>"]; 30 31 /// Operators 32 enum operators = (operatorsLogical 33 ~ operatorsRelational 34 ~ operatorsBinaryAdding 35 ~ operatorsUnaryAdding 36 ~ operatorsMultiplying 37 ~ operatorsParens 38 ~ operatorsAssignment 39 ~ operatorsOther 40 ); 41 42 /// Kewords Ada 83 43 enum keywords83 = [ "abort", "else", "new", "return", "abs", "elsif", "not", "reverse", 44 "end", "null", "accept", "entry", "select", "access", "exception", "of", "separate", 45 "exit", "or", "subtype", "all", "others", "and", "for", "out", "array", 46 "function", "task", "at", "package", "terminate", "generic", "pragma", "then", "begin", "goto", "private", 47 "type", "body", "procedure", "if", "case", "in", "use", "constant", "is", "raise", 48 "range", "when", "declare", "limited", "record", "while", "delay", "loop", "rem", "with", "delta", "renames", 49 "digits", "mod", "xor", "do", ]; 50 51 /// New Kewords in Ada 95 52 enum keywordsNew95 = ["abstract", "aliased", "tagged", "protected", "until", "requeue"]; 53 54 /// New Kewords in Ada 2005 55 enum keywordsNew2005 = ["synchronized", "overriding", "interface"]; 56 57 /// New Kewords in Ada 2012 58 enum keywordsNew2012 = ["some"]; 59 60 /// Kewords in Ada 2012 61 enum keywords2012 = (keywords83 ~ keywordsNew95 ~ keywordsNew2005 ~ keywordsNew2012);