- for(vector<DataFile::Value>::iterator i=st.args.begin(); i!=st.args.end(); ++i)
- if(i->get_type()==DataFile::STRING)
+ if(st.keyword=="_extension")
+ {
+ string ext = FS::extpart(FS::basename(fn));
+ if(ext.empty() || ext.size()==1)
+ throw invalid_argument("Compiler::process_statement");
+ st.keyword = ext.substr(1);
+ }
+
+ for(vector<DataFile::Value>::iterator i = st.args.begin(); i!=st.args.end(); ++i)
+ if(i->get_signature()==DataFile::StringType::signature)