-
Notifications
You must be signed in to change notification settings - Fork 0
/
funciones.txt
40 lines (34 loc) · 1.27 KB
/
funciones.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
[['def Expr():\n {Stat ("")}"."', '.'], ['def Stat ():\n \nint value', 'Expression( value)\nSystem.Console.WriteLn(value.ToString())', '.'], ['def Expression( result):\n \nint result1,result2', 'Term( result1)', '{ "+"Term( result2)\nresult1+=result2', ' | "-"Term( result2)\nresult1-=result2', '}\nresult=result1', '.'], ['def Term( result):\n\nint result1,result2', 'Factor( result1)', '{ "*"Factor( result2)\nresult1*=result2', ' | "/"Factor( result2)\nresult1/=result2', '}\nresult=result1', '.'], ['', 'def Factor( result):\n \nint signo', '["-"\nsigno = -1]', '( Number( result) | "("Expression( result)")") \nresult*=signo', '.'], ['', 'def Number( result):\n number \n result ', '.']]
def Expr():
{Stat ("")}"."
def Stat ():
int value
Expression( value)
System.Console.WriteLn(value.ToString())
def Expression( result):
int result1,result2
Term( result1)
{ "+"Term( result2)
result1+=result2
| "-"Term( result2)
result1-=result2
}
result=result1
def Term( result):
int result1,result2
Factor( result1)
{ "*"Factor( result2)
result1*=result2
| "/"Factor( result2)
result1/=result2
}
result=result1
def Factor( result):
int signo
["-"
signo = -1]
( Number( result) | "("Expression( result)")")
result*=signo
def Number( result):
number
result