-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathalgoritmo.js
87 lines (86 loc) · 1.61 KB
/
algoritmo.js
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
const ALLOCATION = 'allocation';
const ATTRIBUTION = 'attribution';
const FUNCTION_CALL = 'function call';
const LOGICAL = 'logical';
const SWITCH_LOGICAL = 'switch logical';
const WHILE_LOOP = 'while loop';
const FOR_LOOP = 'for loop';
const FUNCTION_DEFINITION = 'function definition';
const GLOBAL = 'global';
module.exports = [
{
comand: 'a, b, soma: inteiro',
type: ALLOCATION,
line: 5,
scope: GLOBAL,
code: []
},
{
comand: 'valores: vetor [1..20] de real',
type: ALLOCATION,
line: 6,
scope: GLOBAL,
code: []
},
{
comand: 'a <- 2 + 4',
type: ATTRIBUTION,
line: 9,
scope: GLOBAL,
code: []
},
{
comand: 'b <- 3',
type: ATTRIBUTION,
line: 10,
scope: GLOBAL,
code: []
},
{
comand: 'soma <- a + b',
type: ATTRIBUTION,
line: 11,
scope: GLOBAL,
code: []
},
{
comand: 'escolha soma',
type: SWITCH_LOGICAL,
line: 12,
scope: GLOBAL,
options: [{
value: [9,8],
code: [{
comand: 'escreval(\'Entrei no caso.\')',
type: FUNCTION_CALL,
line: 13,
scope: GLOBAL,
code: []
}]
},
{
value: [9,8],
code: [{
comand: 'escreval(\'Entrei no caso 2.\')',
type: FUNCTION_CALL,
line: 13,
scope: GLOBAL,
code: []
}]
}],
default: [{
comand: 'escreval(\'default.\')',
type: FUNCTION_CALL,
line: 13,
scope: GLOBAL,
code: []
}]
},
{
comand: 'escreval(\'Resultado da soma: \', soma)',
type: FUNCTION_CALL,
line: 13,
scope: GLOBAL,
code: []
}
];