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
|