-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlogic.h
More file actions
38 lines (25 loc) · 1.23 KB
/
logic.h
File metadata and controls
38 lines (25 loc) · 1.23 KB
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
/** @file Arquivo que contém as funções do logic.c */
#ifndef LOGIC_H
#define LOGIC_H
#include "stack.h"
/** \brief da push do resultado da comparação (=) entre os dois ultimos elementos */
void Is_equal(STACK *s);
/** \brief da push do resultado da comparação (<) entre os dois ultimos elementos */
void Is_lower(STACK *s);
/** \brief da push do resultado da comparação (>) entre os dois ultimos elementos */
void Is_greater(STACK *s);
/** \brief da pop a um elemento e da push do seu valor contrário */
void negate(STACK*s);
/** \brief da pop aos dois ultimos elementos e push no menor deles */
void get_lower(STACK *s);
/** \brief da pop aos dois ultimos elementos e push no maior deles */
void get_greater(STACK *s);
/** \brief efetua um "ou" lógico entre os dois últimos elementos */
void or_logic(STACK *s);
/** \brief efetua um "e" lógico entre os dois últimos elementos */
void and_logic(STACK *s);
/** \brief da push do penultimo ou ultimo elemento, consoante o elemento que está na posição corresponde ao IF */
void if_then_else (STACK *s);
/** \brief função intermédia que determina o tipo de operação do token começado em "e", podendo ser e>, e<, e| ou e& */
void logic_shortcut (STACK *s, char *token);
#endif