}
memset(P, 0, sizeof(*P));
+ P->psi.file.fn = strdup(filename);
P->fp = fp;
- P->fn = strdup(filename);
P->line = 1;
P->error = error;
P->flags = flags;
return t; \
} while(1)
-/* DIGIT = [0-9]
- DIGITS = DIGIT+
- DECIMALS = (+|-)? DIGIT* "."
- digits ::= digits DIGIT.
- decimals ::= digits DOT digits.
- decimals ::= DOT digits.
- decimals ::= digits DOT.
- number ::= digits.
- number ::= PLUS digits.
- number ::= MINUS digits.
- number ::= decimals.
- number ::= MINUS decimals.
- number ::= PLUS decimals.
-
-*/
token_t PSI_ParserScan(PSI_Parser *P)
{
for (;;) {
QUOTED_STRING = "\"" ([^\"])+ "\"";
NUMBER = [+-]? [0-9]* "."? [0-9]+ ([eE] [+-]? [0-9]+)?;
- "#" .* "\n" { ++P->line; RETURN(PSI_T_COMMENT);}
+ ("#"|"//") .* "\n" { ++P->line; continue;}
"(" {RETURN(PSI_T_LPAREN);}
")" {RETURN(PSI_T_RPAREN);}
";" {RETURN(PSI_T_EOS);}
'INT' {RETURN(PSI_T_INT);}
'FLOAT' {RETURN(PSI_T_FLOAT);}
'DOUBLE' {RETURN(PSI_T_DOUBLE);}
- 'INT8_T' {RETURN(PSI_T_SINT8);}
+ 'INT8_T' {RETURN(PSI_T_INT8);}
'UINT8_T' {RETURN(PSI_T_UINT8);}
- 'INT16_T' {RETURN(PSI_T_SINT16);}
+ 'INT16_T' {RETURN(PSI_T_INT16);}
'UINT16_T' {RETURN(PSI_T_UINT16);}
- 'INT32_T' {RETURN(PSI_T_SINT32);}
+ 'INT32_T' {RETURN(PSI_T_INT32);}
'UINT32_T' {RETURN(PSI_T_UINT32);}
- 'INT64_T' {RETURN(PSI_T_SINT64);}
+ 'INT64_T' {RETURN(PSI_T_INT64);}
'UINT64_T' {RETURN(PSI_T_UINT64);}
'STRING' {RETURN(PSI_T_STRING);}
'ARRAY' {RETURN(PSI_T_ARRAY);}