1@top Program { expression } 2 3expression { 4 expressionPart+ 5} 6 7DefinitionBlock { 8 "definition" expression "end" 9} 10 11Proof { 12 "proof" expression "end" 13} 14 15NowBlock { 16 "now" expression "end" 17} 18 19HerebyBlock { 20 "hereby" expression "end" 21} 22 23expressionPart { 24 KeywordControl | 25 SupportFunction | 26 KeywordOther | 27 EntityNameType | 28 ReasoningPhrase | 29 Comment | 30 OpenParen expression CloseParen | 31 OpenBrace expression CloseBrace | 32 OpenBracket expression CloseBracket | 33 DefinitionBlock | 34 Proof | 35 NowBlock | 36 HerebyBlock 37} 38 39@tokens { 40 KeywordControl { 41 "implies" | 42 "holds" | 43 "being" | 44 "for" | 45 "st" | 46 "ex " | 47 "not" | 48 "&" | 49 "or" | 50 "iff" 51 } 52 SupportFunction { 53 "equalities" | 54 "expansions" | 55 "theorem" | 56 "theorems" | 57 "scheme" | 58 "definitions" | 59 "clusters" | 60 "signature" | 61 "vocabulary" | 62 "vocabularies" | 63 "notation" | 64 "notations" | 65 "constructors" | 66 "registration " | 67 "registrations" | 68 "requirements" | 69 "schemes" 70 } 71 KeywordOther { 72 "irreflexivity" | 73 "connectedness" | 74 "compatibility" | 75 "contradiction" | 76 "correctness" | 77 "associativity" | 78 "commutativity" | 79 "consider" | 80 "consistency" | 81 "antonym" | 82 "canceled" | 83 "otherwise" | 84 "reconsider" | 85 "redefine" | 86 "reflexivity" | 87 "symmetry" | 88 "uniqueness" | 89 "transitivity" | 90 "idempotence" | 91 "asymmetry" | 92 "projectivity" | 93 "involutiveness" | 94 "assume" | 95 "cases" | 96 "given" | 97 "per" | 98 "thus" | 99 "take" | 100 "hence" | 101 "is " | 102 "let" | 103 "and" | 104 "attr" | 105 "as" | 106 "be " | 107 "begin" | 108 "cluster" | 109 "coherence" | 110 "def" | 111 "deffunc" | 112 "defpred" | 113 "environ" | 114 "equals" | 115 "existence" | 116 "func" | 117 "if " | 118 "it" | 119 "means" | 120 "mode" | 121 "of" | 122 "over" | 123 "pred" | 124 "provided" | 125 "qua" | 126 "reserve" | 127 "struct" | 128 "such" | 129 "synonym" | 130 "that" | 131 "then" | 132 "thesis" | 133 "where" 134 } 135 EntityNameType { 136 // "proof","end","now","hereby" は削除 137 "case" | 138 "suppose" 139 } 140 Comment { "::" ![\n]* } 141 ReasoningPhrase { ("by" | "from") ![^\n;]* } 142 143 OpenParen { "(" } 144 CloseParen { ")" } 145 OpenBrace { "{" } 146 CloseBrace { "}" } 147 OpenBracket { "[" } 148 CloseBracket { "]" } 149 150 @precedence { 151 Comment, 152 ReasoningPhrase, 153 KeywordControl, 154 SupportFunction, 155 KeywordOther, 156 EntityNameType, 157 OpenParen, 158 CloseParen, 159 OpenBrace, 160 CloseBrace, 161 OpenBracket, 162 CloseBracket 163 } 164} 165 166@external propSource highlighting from "./highlight.js"