123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404 |
- @target mips, mipt2
- package main;
- import (
- //palavra "sub"
- "git.gojus.com.br/eugeniucarvalho/samples"
- "git.gojus.com.br/eugeniucarvalho/xxla"
- )
- const (
- DIVISOR = 2
- MULTIPLICADOR = 2
- )
- //type time int
- type A struct {
- //samples.Entidade
- Vivo bool
- Idade int
- }
- type G struct {
- //main.A
- //main.A
- valores int
- ID int
- }
- func Z(x int) int {
- return x + 3
- }
- func L(x *int) int,int {
- a := Z(3)
- return *x + 1, 2 + 2
- }
- //var (
- // v1 G
- //)
- func main() {
- var (
- i int
- j int
- t int
- variavel G
- //variavel = G{}
- /*
- variavel = G{
- A: A{
- Vivo:true,
- },
- valores:1,
- ID:2,
- }
- */
- //m int
- k *int
- //b bool
- v = true
- array = []int{1,2,3,4,5,}
- array2 [DIVISOR][4]int
- )
- /*
- i = 2
- array[i] = 1
- t = array[i]
- array[6] = 1
- t[1] = 1
- */
- i = 2 + t
- j,t = L(k)
- *k = 4
- variavel.ID = 1
- t = variavel.ID
- /*
- k = &i
- i = *k
- t++
- i = 2 + *k
- */
- //t = array2[1][2]
- //array2[i][2] = t
- /**
- IF3:
- if (i == 0 || (i != 4 || j > 10)) {
- v1.ID = 1
- } else {
- j = 10
- }
- Saltos
- IF0:
- if (i == 0 ){
- j = 20
- }
- IF1:
- if true {
- j = 20
- }
- IF2:
- if (i == 0 ){
- j = 10
- } else {
- j = 30
- }
- IF4:
-
- if (i == 0 && (i != 4 && j > 10)) {
- j = 1
- } else {
- j = 10
- }
- SWITCH:
- switch {
- case k < 10:
- variavel.ID = variavel.ID + k
- fallthrough
- case true == false:
- variavel.ID = variavel.ID - k
- default:
- variavel.ID = variavel.ID - k
- }
- FOR1:
- i = 0
- for i < 10 {
- variavel.ID = variavel.ID + i
- i++
- }
- FOR2:
- i = 0
- for i < 10 && j = true {
- variavel.ID = variavel.ID + i
- i++
- }
- FOR3:
- for i < 10 || j = true {
- variavel.ID = variavel.ID + i
- i++
- }
-
-
- <main.L>:
- 6: 0: pop_param _V2 T< pop_param >
- 7: 1: _T4 := *_V2 T< pointer_assignment >
- 8: 2: _T5 := _T4 + 1 T< assign >
- 9: 3: push_return _T5 T< push_return >
- 10: 4: return 1 T< return >
- : <main.L-end>:
- 10: 00048021 addu s0,zero,a0 .6.--pop param
- 11: 33d10000 lw s1,fp,0 .7.--load address stored in _V2
- 12: 32280000 lw t0,s1,0 .7.--load content of address stored in s1
- 13: 01490001 addiu t1,t2,1 .8.
- */
- //variavel.ID = *k
- //i = variavel.ID
- //variavel.ID = 1
-
- //variavel.valores = &i
- //variavel.ID = 10
- //variavel.Entidade.ID = 20
- //variavel.valores = &i
-
- //j = 10
- //i = 10
- //m = L(&i)
- //m = L(k)
- //k = &i
- //j = *k
- //*k = j
- /*
- j = *variavel.valores + 2
- i := 0
- for i < 10 {
- variavel.ID = variavel.ID + i
- i++
- }
- if 1 != b {
- variavel.ID = -20
- }
- z := InitA(10)
-
- i = -10
- k = -i
- b = !true
- t = !b
-
- k = (i + 10) / 2
- z1 := InitA(10)
- k = i + z
- k = 10 % 2
- if k > 10 {
- variavel.ID = 1
- }
- switch {
- case k < 10:
- variavel.ID = variavel.ID + k
- fallthrough
- case true == false:
- variavel.ID = variavel.ID - k
- default:
- variavel.ID = variavel.ID - k
- }
- */
- }
- /*
- var (
- k = 1
- estrutura *A
- Y *int
- )
-
- x := samples.DoPacote()
- na := A {
- valid : true,
- id : 1,
- }
- a := 1
- k = &a // Atualizar o valor do endereco do ponteiro
- *k = 3 // Atribuicao do valor a variavel referenciado pelo ponteiro
- *k = *k // Copia do conteudo de um ponteiro para outro ponteiro
- y := lista(k)
- z := listaEstrutura(estrutura, 1)
- // fim
- var G variavel
- //res := variavel.Ativada()
-
- res := false || true
- k := 1
- X0:
- switch res := variavel.Ativada(); res {
- case 'a', 'b', 'd':
- variavel.ID = variavel.ID + k
- break
- variavel.ID = variavel.ID + k
- fallthrough
- case 'c':
- variavel.ID = variavel.ID - k
- }
- X1:
- switch {
- case 1 < 10:
- variavel.ID = variavel.ID + k
- fallthrough
- case true == false:
- variavel.ID = variavel.ID - k
- default:
- variavel.ID = variavel.ID - k
- }
- X2:
- if res == true && 4 < 2 {
- variavel.ID = 15 + 1
- } else if res == true || 4 < 2 {
- variavel.ID = 15 + 1
- } else {
- variavel.ID = 5 + 11
- }
- X3:
- if res := variavel.Ativada(); res {
- variavel.ID = 15 + 1
- }
- X4:
- for i := 0; i < 10; i++ {
- res = variavel.Somar(10)
- goto X1
- variavel.ID = variavel.ID + i
- continue
- }
- X5:
- i := 0
- for i < 10 {
- res = variavel.Somar(10)
- variavel.ID = variavel.ID + i
- i++
- }
- X6:
- // saia
- for x, y := range lista() {
- res = variavel.Somar(10)
- variavel.ID = variavel.ID + i
- i++
- }
- variavel.A.Nome = 10
- res = res || (true && false)
- b, x := Crazy(10)
- variavel.ID++
-
- */
- /**
- func (x *G) Somar(i int) int {
- return i + x.ID
- }
- func Crazy(x int) bool, int {
- return x, true
- }
- func lista(v *int) int {
- return v + 1
- }
- func InitA(v int) int {
- return v + 1
- }
- func listaEstrutura(r *A) int {
- return r.valid + 1
- }
- func L(a *int) *int {
- *a = *a + 1
- return a
- }
- */
|