Beispiel #1
0
void atomic_type_list(){
	atomic_type();
	while (lookahead == ',') {
		match(',');
		atomic_type();
	}
}
Beispiel #2
0
/*Ritorna lo schema del type.
Il puntatore allo schema successivo che sarà NULL nel caso di tipi semplici, e non nullo per tipi tabella*/
Pschema type(Pnode type_node){
#ifdef DEBUG_TYPE
	printf( "TYPE_NODE - enter\n");
#endif

	if (type_node->type == N_ATOMIC_TYPE)
		return atomic_type(type_node);
	else 		
		return table_type(type_node);
}
Beispiel #3
0
void extend_op(){
	match(UNARY_OP);
	match('[');
	atomic_type();
	match(ID);
	match(ASSIGN);
	expr();
	match(']');

}
Beispiel #4
0
/*Ritorno lo schema dell'attr_decl*/
Pschema attr_decl(Pnode attr_decl_node){
#ifdef DEBUG_ATTR_DECL
	printf( "ATTR_DECL - enter\n");
#endif
	//Prendo i due figli del nodo
	Pnode type_node = attr_decl_node->child;
	Pnode id_node = attr_decl_node->child->brother;
	
	//Analizzo il tipo 
	Pschema schema = atomic_type(type_node);

	//Dall'id_node prendo il nome e lo aggiungo a schema
	schema->name = valname(id_node);

#ifdef DEBUG_ATTR_DECL
	printf( "ATTR_DECL - exit\n");
#endif
	return schema;	
}
Beispiel #5
0
void attr_decl(){
	atomic_type();
	match(ID);
}
Beispiel #6
0
void type(){
	if (lookahead == INTEGER || lookahead == STRING || lookahead == BOOLEAN)
		atomic_type();
	else 
		table_type();
}
Beispiel #7
0
 RAJA_HOST_DEVICE RAJA_INLINE atomic_type operator()(ARGS &&... args) const
 {
   return atomic_type(&base_.operator()(std::forward<ARGS>(args)...));
 }