diff --git a/Command line demo/main.m b/Command line demo/main.m index 3ffdb44..d82d8d4 100644 --- a/Command line demo/main.m +++ b/Command line demo/main.m @@ -6,7 +6,7 @@ void listFunctions(void); NSString* readLine() { - NSCharacterSet *valid = [DDMathStringTokenizer legalCharacters]; +// NSCharacterSet *valid = [DDMathStringTokenizer legalCharacters]; NSMutableData *data = [NSMutableData data]; @@ -14,7 +14,7 @@ char c = getchar(); if (c > 0xffff) { continue; } if ([[NSCharacterSet newlineCharacterSet] characterIsMember:(unichar)c]) { break; } - if (![valid characterIsMember:(unichar)c]) { continue; } +// if (![valid characterIsMember:(unichar)c]) { continue; } [data appendBytes:&c length:sizeof(char)]; } while (1); diff --git a/DDMathParser/DDMathStringTokenizer.m b/DDMathParser/DDMathStringTokenizer.m index e84631f..c8b459f 100644 --- a/DDMathParser/DDMathStringTokenizer.m +++ b/DDMathParser/DDMathStringTokenizer.m @@ -60,7 +60,9 @@ + (NSCharacterSet *)_operatorCharacterSet { // \u00AC is ¬ // \u2264 is ≤ // \u2265 is ≥ - _operatorSet = DD_RETAIN([NSCharacterSet characterSetWithCharactersInString:@"+-*/&|!%^~()<>,=\u2228\u2227\u00ac\u2264\u2265"]); + // \u00f7 is ÷ + // \u00d7 is × + _operatorSet = DD_RETAIN([NSCharacterSet characterSetWithCharactersInString:@"+-*/&|!%^~()<>,=\u2228\u2227\u00ac\u2264\u2265\u00f7\u00d7"]); }); return _operatorSet; } diff --git a/DDMathParser/_DDOperatorInfo.m b/DDMathParser/_DDOperatorInfo.m index 98d927d..dea9427 100644 --- a/DDMathParser/_DDOperatorInfo.m +++ b/DDMathParser/_DDOperatorInfo.m @@ -141,7 +141,9 @@ + (NSArray *)_buildOperators { // multiplication and division have the same precedence [operators addObject:[self infoForOperator:DDOperatorMultiply arity:DDOperatorArityBinary precedence:precedence token:@"*" function:@"multiply" associativity:DDOperatorAssociativityLeft]]; + [operators addObject:[self infoForOperator:DDOperatorMultiply arity:DDOperatorArityBinary precedence:precedence token:@"\u00d7" function:@"multiply" associativity:DDOperatorAssociativityLeft]]; [operators addObject:[self infoForOperator:DDOperatorDivide arity:DDOperatorArityBinary precedence:precedence token:@"/" function:@"divide" associativity:DDOperatorAssociativityLeft]]; + [operators addObject:[self infoForOperator:DDOperatorDivide arity:DDOperatorArityBinary precedence:precedence token:@"\u00f7" function:@"divide" associativity:DDOperatorAssociativityLeft]]; precedence++; [operators addObject:[self infoForOperator:DDOperatorModulo arity:DDOperatorArityBinary precedence:precedence token:@"%" function:@"mod" associativity:DDOperatorAssociativityLeft]];