aboutsummaryrefslogtreecommitdiff
path: root/automata_identificadores.py
blob: 5e954290dfa3bfdfa1606721fcafdd5e07241eb9 (plain)
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
class automata_identificadores:
    int stateN = 0
    int isAccepted(char str[]):
    
    int len = len(str)
            
            for i in len:
                if (stateN == 0):
                    start(str[i])
                else: 
                    if (stateN == 1):
                        state1(str[i])
                    else:
                        return 0
    
            if (stateN == 1):
                return 1
            else:
                return 0
        
        def start(char c):
            if (isalpha(c) or c == '_'):
                stateN = 1
            else:
                stateN = -1
            
        def state1(char c):
            if (isalpha(c) or c == '_' or isdigit(c)):
                stateN = 1
            else:
                stateN = -1
        
        bool no_es_main(char* token):
            if (isAccepted(token))
                return true
            else:
                return false