FROM_PACKAGE_IDENTIFIER -> WITH_DOT_IDENTIFIER

master2
serr 2025-05-18 18:03:43 +03:00
parent 2973ff1f2f
commit d06d314b12
2 changed files with 9 additions and 6 deletions

View File

@ -118,10 +118,10 @@ LETTER_OR_DIGIT [a-zA-Z0-9_]
return STRING_LITERAL;
}
{LETTER}{LETTER_OR_DIGIT}*(\.{BIG_LETTER}{LETTER_OR_DIGIT}*)? {
{LETTER}{LETTER_OR_DIGIT}*(\.{LETTER}{LETTER_OR_DIGIT}*)? {
yylval.str = strdup(yytext);
if (strchr(yytext, '.') != NULL) {
return FROM_PACKAGE_IDENTIFIER;
return WITH_DOT_IDENTIFIER;
} else {
return IDENTIFIER;
}

View File

@ -34,7 +34,7 @@ void free_node(char *str) {
%token RUNE BYTE BOOL_LITERAL
%token FLOAT32 FLOAT64
%token COMPLEX64 COMPLEX128
%token <str> IDENTIFIER FROM_PACKAGE_IDENTIFIER
%token <str> IDENTIFIER WITH_DOT_IDENTIFIER
%token AND OR NOT EQ NEQ LT GT LEQ GEQ
%left PLUS_EQ MINUS_EQ MUL_EQ DIV_EQ MOD_EQ
@ -57,7 +57,6 @@ program:
| program statement
;
statement:
| func_call SEMICOLON
{ printf("\033[1;33mSTATEMENT: func_call\033[0m\n"); }
@ -78,6 +77,11 @@ statement:
block:
LBRACE statements_list RBRACE
;
any_identifier:
IDENTIFIER
| WITH_DOT_IDENTIFIER
//
// lists
@ -290,8 +294,7 @@ import_list:
// functions
func_call:
IDENTIFIER LPAREN math_expr_or_literals_list_or_empty RPAREN
| FROM_PACKAGE_IDENTIFIER LPAREN math_expr_or_literals_list_or_empty RPAREN
any_identifier LPAREN math_expr_or_literals_list_or_empty RPAREN
arg_declaration:
IDENTIFIER type