Skip to content
Merged

V2.2 #21

Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
read done
  • Loading branch information
lucafs committed May 6, 2021
commit 82121e5b7e278f132e5042efd2dfa4cc85d03676
20 changes: 20 additions & 0 deletions main.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,11 @@ def Evaluate(self, ST):
print_value = self.children[0].Evaluate(ST)
print(print_value)

class ReadLn(Node):
def Evaluate(self, st):
return int(input())


class Comandos(Node):
def Evaluate(self, ST):
for x in self.children:
Expand Down Expand Up @@ -157,6 +162,8 @@ def selectNext(self):

if(self.actual.value == "println"):
self.actual.type = "PRINT"
elif(self.actual.value == "readln"):
self.actual.type = "READ"
return self.actual


Expand Down Expand Up @@ -195,6 +202,19 @@ def parseFactor():
raise Exception ("Parenteses não fechados")
Parser.tokens.selectNext()
return res
elif(Parser.tokens.actual.type == "READ"):
node = ReadLn("READ", [])
Parser.tokens.selectNext()
if(Parser.tokens.actual.type == "OPN"):
Parser.tokens.selectNext()
if(Parser.tokens.actual.type == "CLS"):
Parser.tokens.selectNext()
else:
raise Exception("Read error")
else:
raise Exception("Read error")
return node

else:
raise Exception ("Factor error")

Expand Down
3 changes: 2 additions & 1 deletion teste.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
x1 = 3; /* bla bla $x1 = 9999998 */
y2 = 4;
x = readln() + 2;
z_final = x1 + y2 *33;
println(z_final);
println(x);