pike.git/
src/
language.yacc
Branch:
Tag:
Non-build tags
All tags
No tags
1997-01-27
1997-01-27 01:19:01 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>
45e8a8ea8b91ca36f02f4ef2215fa5198760ffb4 (
45
lines) (+
21
/-
24
)
[
Show
|
Annotate
]
Branch:
7.9
constants are now in an automaticallu used module
Rev: src/language.yacc:1.19
Rev: src/las.c:1.14
156:
/* This is the grammar definition of Pike. */ #include "global.h"
-
RCSID("$Id: language.yacc,v 1.
18
1997/01/
19
09
:
08
:
00
hubbe Exp $");
+
RCSID("$Id: language.yacc,v 1.
19
1997/01/
27
01
:
18
:
01
hubbe Exp $");
#ifdef HAVE_MEMORY_H #include <memory.h> #endif
391:
resolv_constant($3); free_node($3); use_module(sp-1);
-
sp--
;
+
pop_stack()
;
} ;
1153:
}else if(find_module_identifier($1)){ $$=mkconstantsvaluenode(sp-1); pop_stack();
-
}else if((f=lookup_efun($1))){
-
$$=mkconstantsvaluenode(&f->function);
+
}else{ $$=0; if( get_master() )
1184:
} | F_PREDEF F_COLON_COLON F_IDENTIFIER {
-
struct
efun
*f
;
-
f=lookup_efun($3)
;
-
if(!f)
-
{
-
my
_
yyerror
(
"Unknown efun: %s.",$3->str
);
-
$$
=
mkintnode
(
0
);
-
}else{
-
$$=
mksvaluenode
(
&f->function
);
-
}
+
struct
svalue
tmp
;
+
node *tmp2
;
+
tmp.type=T_MAPPING;
+
tmp.u.mapping=get
_
builtin_constants
();
+
tmp2
=
mkconstantsvaluenode
(
&tmp
);
+
$$=
index_node
(
tmp2, $3
);
+
free_node(tmp2);
free_string($3); } | F_IDENTIFIER F_COLON_COLON F_IDENTIFIER