%{
#include "../detector.h"
#include "../sourcefile.h"

const char *disambiguate_aspx(SourceFile *sourcefile);
const char *disambiguate_asx(SourceFile *sourcefile);
const char *disambiguate_b(SourceFile *sourcefile);
const char *disambiguate_basic(SourceFile *sourcefile);
const char *disambiguate_cs(SourceFile *sourcefile);
const char *disambiguate_dat(SourceFile *sourcefile);
const char *disambiguate_def(SourceFile *sourcefile);
const char *disambiguate_fortran(SourceFile *sourcefile);
const char *disambiguate_fs(SourceFile *sourcefile);
const char *disambiguate_h(SourceFile *sourcefile);
const char *disambiguate_in(SourceFile *sourcefile);
const char *disambiguate_inc(SourceFile *sourcefile);
const char *disambiguate_m(SourceFile *sourcefile);
const char *disambiguate_mod(SourceFile *sourcefile);
const char *disambiguate_pl(SourceFile *sourcefile);
const char *disambiguate_pp(SourceFile *sourcefile);
const char *disambiguate_pro(SourceFile *sourcefile);
const char *disambiguate_r(SourceFile *sourcefile);
const char *disambiguate_rs(SourceFile *sourcefile);
const char *disambiguate_st(SourceFile *sourcefile);
%}
struct DisambiguateFuncsMap { const char *key; const char* (*value)(SourceFile*); };
%%
aspx, disambiguate_aspx
asx, disambiguate_asx
b, disambiguate_b
basic, disambiguate_basic
cs, disambiguate_cs
dat, disambiguate_dat
def, disambiguate_def
fortran, disambiguate_fortran
fs, disambiguate_fs
h, disambiguate_h
in, disambiguate_in
inc, disambiguate_inc
m, disambiguate_m
mod, disambiguate_mod
pl, disambiguate_pl
pp, disambiguate_pp
pro, disambiguate_pro
r, disambiguate_r
rs, disambiguate_rs
st, disambiguate_st
