View difference between Paste ID: k71jYY31 and 5eDz1H1z
SHOW: | | - or go back to the newest paste.
1
Initial symbol = <expression>
2
3
<expression> ::= <arithmetic_expression> | <boolean_expression>
4
5
<arithmetic_expression> ::= <arithmetic_expression_type> | 
6
			    <arithmetic_expression_type><operator><arithmetic_expression> |
7
			    <parentized_expression> | 
8
			    <parentized_expression><operator><arithmetic_expression> |
9
			    <polynomial_expression_with_result>
10
11
<arithmetic_expression_type> ::= <function> | <number> | <polynomial_expression> 
12
13
<parentized_expression> ::= "(" <arithmetic_expression> ")" 
14
15
<boolean_expression> ::= <boolean_condition> | 
16
			 <boolean_condition> <boolean_operator> <boolean_expression> |
17
			 <parentized_boolean_expression> |
18
			 <parentized_boolean_expression><boolean_operator><boolean_expression>
19
20
<parentized_boolean_expression> ::= "(" <boolean_expression> ")"
21
22
<number> ::= <integer> | <float> | <signal><integer> | <signal><float>
23
24
<integer> ::= <digit> | <digit><integer>
25
26
<float> ::= <integer>"."<integer>
27
28
<digit> ::= "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "0"
29
30
<letter> ::= "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" |
31
	     "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z" |
32
	     "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "J" | "K" | "L" | "M" |
33
	     "N" | "O" | "P" | "Q" | "R" | "S" | "T" | "U" | "V" | "W" | "X" | "Y" | "Z"
34
35
<signal> ::= "-" | "+"
36
37-
<operator> ::= "+" | "-" | "*" | "/" | "^" | "%"
37+
<operator> ::= "+" | "-" | "*" | "/" | "%" | "^" 
38
39
<relational_operator> ::= ">" | "<" | ">=" | "<=" | "=="
40
41
<boolean_operator> ::= "&&" | "||" 
42
43
<boolean_condition> ::= "true" | "false"
44
45
<function> ::= <function_name> "(" <parameter_list> ")"
46
47
<function_name> ::= <letter> <name>
48
49
<name> ::= <letter> | <digit> | <letter><name> | <digit><name> | ""
50
51
<parameter_list> ::= <parameter> | <parameter>","<parameter_list>
52
53-
<parameter> ::= <function> | <number> | <polynomial_expression>
53+
<parameter> ::= <function> | <number> | <function_polynomial_expression>
54
55-
<polynomial_expression> ::= <polynomial_term> | 
55+
<function_polynomial_expression> ::= <polynomial_term> |
56-
			    <polynomial_term> <operator> <polynomial_expression>
56+
				     <polynomial_term><operator><function_polynomial_expression>
57
58
<polynomial_expression> ::= <polynomial_term> 
59
60
<polynomial_term> ::= <letter><exponent> | 
61
		      <signal><letter><exponent> | 
62-
<exponent> ::= 	"^"<function><exponent> | 
62+
63-
		"^"<polynomial_expression> | 
63+
64-
		"^"<number><exponent> | ""
64+
<exponent> ::= 	"^"<exponent_type><exponent> | ""
65
66
<exponent_type> ::= <function> | 
67
		    <number> |
68-
<result> ::= <function> | <number> | <polynomial_expression>
68+
		    <function_polynomial_expression> |
69
		    <parentized_exponent_type>
70
71
<parentized_exponent_type> ::= "(" <exponent_type> ")"
72
73
<polynomial_expression_with_result> ::= <polynomial_expression> "=" <result>
74
75
<result> ::= <function> | <number> | <function_polynomial_expression>