  Traditional language processing tools constrain language designers to
specific kinds of grammars. In contrast, model-based language specification
decouples language design from language processing. As a consequence,
model-based language specification tools need general parsers able to parse
unrestricted context-free grammars. As languages specified following this
approach may be ambiguous, parsers must deal with ambiguities. Model-based
language specification also allows the definition of associativity, precedence,
and custom constraints. Therefore parsers generated by model-driven language
specification tools need to enforce constraints. In this paper, we propose
Fence, an efficient bottom-up chart parser with lexical and syntactic ambiguity
support that allows the specification of constraints and, therefore, enables
the use of model-based language specification in practice.
