![]() |
Trabalho Prático 2
Processamento de Linguagens
|
Ficheiro Header. Mais...
Ir para o código fonte deste ficheiro.
Estruturas de Dados | |
| struct | _varList |
| Estrutura que contem as variaveis e respectivos valores durante o runtime. Mais... | |
| struct | _Value |
| Estrutura que contem um valor, que poderá ser uma variavel ou um valor inteiro. Mais... | |
| struct | _Dimension |
| Estrutura que contem uma dimensão ex. 10x20. Mais... | |
| struct | _Point |
| Estrutura/Lista que contem um ou vários Pontos ex. (1,2 3,4 6,5) Mais... | |
| struct | _Colour |
| Estrutura que contem uma cor ex (255:255:255) Mais... | |
| struct | _Command |
| Estrutura/lista que contem um ou vários comando e seus argumentos. Mais... | |
| struct | _Image |
| Estrutura que contem a informação de uma imagem em runtime. Mais... | |
Macros | |
| #define | DEBUG 1 |
Definições de tipos | |
| typedef struct _varList | VarList |
| Estrutura que contem as variaveis e respectivos valores durante o runtime. Mais... | |
| typedef struct _Value | Value |
| Estrutura que contem um valor, que poderá ser uma variavel ou um valor inteiro. Mais... | |
| typedef struct _Dimension | Dimension |
| Estrutura que contem uma dimensão ex. 10x20. Mais... | |
| typedef struct _Point | Point |
| Estrutura/Lista que contem um ou vários Pontos ex. (1,2 3,4 6,5) Mais... | |
| typedef struct _Colour | Colour |
| Estrutura que contem uma cor ex (255:255:255) Mais... | |
| typedef struct _Command | Command |
| Estrutura/lista que contem um ou vários comando e seus argumentos. Mais... | |
| typedef struct _Image | Image |
| Estrutura que contem a informação de uma imagem em runtime. Mais... | |
Funções | |
| Image * | newImage () |
| Cria uma nova estrutura que irá servir para correr os comandos. Mais... | |
| Colour * | parseColour (Value *r, Value *g, Value *b) |
| Recebe 3 valores e cria uma estrutura de cor. Mais... | |
| Dimension * | parseDimension (Value *x, Value *y) |
| Recebe 2 valores e devolve uma estrutura do tipo dimension (x x y) Mais... | |
| Point * | parsePoint (Point *lst, Value *x, Value *y) |
| Recebe 2 valores de x e y e uma lista de pontos. Mais... | |
| Command * | newCommand (int command, Point *pt, Dimension *dim, Colour *col, Value *val, Value *val2, Value *str, Value *str2, Command *child) |
| Função que cria um comando e o devolve. Mais... | |
| Value * | parseValue (int val, char *str) |
| Cria uma estutura do tipo value dependendo se enviamos uma string ou um valor. Mais... | |
| void | runCommands (Command *lst, Image *image) |
| Função recursiva principal que corre os comandos pertencentes à lista de comandos que foi feito o parsing. Mais... | |
| void | Run (Command *lst) |
| Função chamada no final de fazer parsing à gramatica program : instructionList { Run($1); } A mesma cria uma imagem e corre os comandos contidos na lst. Mais... | |
| Command * | newVariable (char *variable, Value *value) |
| Command * | insertCommand (Command *lst, Command *cmd) |
| Recebe uma lista de comandos e um comando e insere o mesmo na lista. Mais... | |
| int | gera_random (int min, int max) |
| Gera um numero random entre min e max. Mais... | |
| #define DEBUG 1 |
Definido na linha 15 do ficheiro commands.h.
| typedef struct _Dimension Dimension |
Estrutura que contem uma dimensão ex. 10x20.
Estrutura que contem um valor, que poderá ser uma variavel ou um valor inteiro.
Estrutura que contem as variaveis e respectivos valores durante o runtime.
| int gera_random | ( | int | min, |
| int | max | ||
| ) |
Gera um numero random entre min e max.
| min | |
| max |
Definido na linha 505 do ficheiro commands.c.
Recebe uma lista de comandos e um comando e insere o mesmo na lista.
| lst | Lista de Comandos |
| cmd | Nodo |
Definido na linha 118 do ficheiro commands.c.
Referências _Command::next.
| Command* newCommand | ( | int | command, |
| Point * | pt, | ||
| Dimension * | dim, | ||
| Colour * | col, | ||
| Value * | val, | ||
| Value * | val2, | ||
| Value * | str, | ||
| Value * | str2, | ||
| Command * | child | ||
| ) |
Função que cria um comando e o devolve.
| command | Inteiro que identifica o comando |
| pt | Pontos (1,2 3,4 5,6) |
| dim | Dimensoes (20x10) |
| col | Cor (r:g:b) |
| val | Um valor (Usado para variaveis ou valores inteiros) |
| val2 | Um outro Valor (Usado para variaveis ou valores inteiros) |
| str | Um valor string (Usado para comandos que necessitem de strings tipo LOAD e SAVE) |
| str2 | |
| child | Commandos encadeados neste |
Definido na linha 95 do ficheiro commands.c.
Referências _Command::child, _Command::color, _Command::command, _Command::dimension, _Command::next, _Command::point, _Command::str, _Command::str2, _Command::val e _Command::val2.
| Image* newImage | ( | ) |
Cria uma nova estrutura que irá servir para correr os comandos.
Definido na linha 190 do ficheiro commands.c.
Referências _Image::b, _Image::g, _Image::r, _Image::vars, _Image::x_size e _Image::y_size.
Referenciado por Run().
Recebe 3 valores e cria uma estrutura de cor.
| r | valor da cor red |
| g | valor da cor gree |
| b | valor da cor blue |
Definido na linha 29 do ficheiro commands.c.
Referências _Colour::b, _Colour::g e _Colour::r.
Recebe 2 valores e devolve uma estrutura do tipo dimension (x x y)
| x | valor de x |
| y | valor de y |
Definido na linha 44 do ficheiro commands.c.
Referências _Dimension::x e _Dimension::y.
Recebe 2 valores de x e y e uma lista de pontos.
| lst | lista de pontos |
| x | valor do ponto em x a adicionar à lista |
| y | valor do ponto em y a adicionar à lista |
Definido na linha 59 do ficheiro commands.c.
Referências _Point::next, _Point::x e _Point::y.
| Value* parseValue | ( | int | val, |
| char * | str | ||
| ) |
Cria uma estutura do tipo value dependendo se enviamos uma string ou um valor.
| val | valor inteiro |
| str | valor string |
Definido na linha 74 do ficheiro commands.c.
Referências _Value::val e _Value::var.
| void Run | ( | Command * | lst | ) |
Função chamada no final de fazer parsing à gramatica program : instructionList { Run($1); } A mesma cria uma imagem e corre os comandos contidos na lst.
| lst | Lista de Comandos a Correr |
Definido na linha 208 do ficheiro commands.c.
Referências newImage() e runCommands().
Função recursiva principal que corre os comandos pertencentes à lista de comandos que foi feito o parsing.
| lst | Lista de comandos |
| image | Estrutura com informação da imagem |
Definido na linha 219 do ficheiro commands.c.
Referências _Command::command, _Command::next e runCommands().
Referenciado por Run() e runCommands().