Ybadoo - Soluções em Software Livre
Tutoriais
Compiladores

Desenvolva um programa na linguagem de programação SIMPLE, que apresente a somatória dos números fornecidos pelo usuário, até que o usuário forneça o número zero. Por exemplo, caso os valores fornecidos pelo usuário sejam 1, 7, 4, 3 e 0, o programa deverá apresentar como resposta o valor 15, ou seja, 1 + 7 + 4 + 3. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.

10 let s = 0
20 input n
30 if n == 0 goto 60
40 let s = s + n
50 goto 20
60 print s
70 end
Tabela de símbolos
CódigoValor CódigoValor CódigoValor
0010 01s 020
0320 04n 0530
0660 0740 0850
0970      
[51, 0, (01, 01)] // 10
[63, , (01, 04)] // let
[41, 1, (01, 08)] // s
[11, , (01, 10)] // =
[51, 2, (01, 12)] // 0
[10, , (01, 13)] // ENTER
[51, 3, (02, 01)] // 20
[62, , (02, 04)] // input
[41, 4, (02, 10)] // n
[10, , (02, 11)] // ENTER
[51, 5, (03, 01)] // 30
[66, , (03, 04)] // if
[41, 4, (03, 07)] // n
[31, , (03, 09)] // ==
[51, 2, (03, 12)] // 0
[65, , (03, 14)] // goto
[51, 6, (03, 19)] // 60
[10, , (03, 21)] // ENTER
[51, 7, (04, 01)] // 40
[63, , (04, 04)] // let
[41, 1, (04, 08)] // s
[11, , (04, 10)] // =
[41, 1, (04, 12)] // s
[21, , (04, 14)] // +
[41, 4, (04, 16)] // n
[10, , (04, 17)] // ENTER
[51, 8, (05, 01)] // 50
[65, , (05, 04)] // goto
[51, 3, (05, 09)] // 20
[10, , (05, 11)] // ENTER
[51, 6, (06, 01)] // 60
[64, , (06, 04)] // print
[41, 1, (06, 10)] // s
[10, , (06, 11)] // ENTER
[51, 9, (07, 01)] // 70
[67, , (07, 04)] // end
[03, , (07, 07)] // ETF