|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Yuri Khan 2:5000/124.42 23 Sep 2001 09:30:57 To : Evgeniy Jirnov Subject : Парсинг унарных операторов --------------------------------------------------------------------------------
2001-09-22 12:19, Evgeniy Jirnov wrote to All:
EJ> Подскажите как сабж делать? Как с бинарным оператором понятно:
EJ> (2+2)+(3+3)
EJ> Просто смотрим что справа и слева от оператора и, если справа или слева
EJ> скобки, то переходим к скобках, а далее снова смотрим что там и как... А
EJ> как сделать такое: Tg(Sin(2+2)+Cos(3+2))
С унарными операторами всё просто, в принципе их можно рассматривать как
специальный вид скобок, а вообще вот грамматика:
Expression ::= Expression AddOp Term | Term
Term ::= Term MulOp Factor | Factor
Number ::= Number Digit | Digit
Factor ::= '(' Expression ')' | Number | FunctionCall
FunctionCall ::= Identifier '(' ArgumentList ')'
ArgumentList ::= ArgumentList ',' Expression | Expression
AddOp ::= '+' | '-'
MulOp ::= '*' | '/' | '%'
Letter ::= 'A' | 'B' | ... | 'Z' | 'a' | 'b' | ... | 'z' | '_'
Digit ::= '0' | '1' | ... | '9'
LetterOrDigit ::= Letter | Digit
Identifier ::= Identifier LetterOrDigit | Letter
Bye!
--- GoldED+/W32 1.1.4.7 [Работает Д не трогай]
* Origin: +7(383-2)32-8062, 23:00Д07:00, ICQ#9565673 (2:5000/124.42)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/38653bad4b4c.html, оценка из 5, голосов 10
|