68 lines
3.2 KiB
ObjectPascal
68 lines
3.2 KiB
ObjectPascal
unit dpglib.Messages;
|
|
|
|
interface
|
|
resourcestring
|
|
MSG_W_RULEACCEPTSNOARGS = 'Rule "%s" accepts no arguments.';
|
|
MSG_W_RULEHASNORETURN = 'Rule "%s" has no return value.';
|
|
MSG_W_RULEHASRETURN = 'Rule "%s" returns a value.';
|
|
MSG_W_OPTIONALPATH = 'Optional path found in NextToken.';
|
|
MSG_W_SYNTSUPERFLUOUS = 'Syntactic predicate superfluous for single alternative.';
|
|
MSG_W_SYNTIGNORED = 'Syntactic predicate ignored for single alternative.';
|
|
|
|
MSG_E_RULENOTDEFINED = 'Rule "%s" is not defined.';
|
|
MSG_E_LEXRULENOTDEFINED = 'Lexer rule "%s" is not defined.';
|
|
MSG_E_NOFILTERRULE = 'Filter rule "%s" does not exist in this lexer.';
|
|
|
|
MSG_W_ILLEGALOPTION = 'Illegal option "%s".';
|
|
MSG_W_ILLEGALRULEOPTION = 'Illegal rule option "%s".';
|
|
|
|
MSG_W_ILLEGALDEMOOPTION = 'Option "%s" is invalid in demo version.';
|
|
MSG_W_CANTIMPORT = 'Cannot import "%s".';
|
|
|
|
// behaviour
|
|
MSG_W_TOKENSREDEF = 'Redefinition of literal in tokens {...} "%s".';
|
|
MSG_E_RULEREDEF = 'Redefinition of rule "%s".';
|
|
|
|
// grammar maker
|
|
MSG_E_INVSTRINGLITERAL = 'Invalid string literal %s';
|
|
MSG_W_LEXPUBLICRETURN = 'Public lexical rules cannot specify return type.';
|
|
MSG_E_ABORTGRAMMAR = 'Aborting grammar "%s" do to errors.';
|
|
MSG_E_LEXNOTINLEXER = 'Lexical rule "%s" defined outside of lexer.';
|
|
MSG_E_LEXCAPITAL = 'Lexical rule names must begin with captal letter. "%s" is not.';
|
|
MSG_E_NONINVSUBRULE = 'This subrule cannot be inverted.';
|
|
|
|
MSG_E_NONINVN2M = '"~" cannot be applied to (...)@ subrule.';
|
|
MSG_E_NONINVOOM = '"~" cannot be applied to (...)+ subrule.';
|
|
MSG_E_NONINVZOO = '"~" cannot be applied to (...)? subrule.';
|
|
MSG_E_NONINVZOM = '"~" cannot be applied to (...)* subrule.';
|
|
MSG_E_NONINVSYNTPRED = '"~" cannot be applied to syntactic predicate.';
|
|
|
|
MSG_E_CHARINPARSER = 'Character literal only valid in lexer.';
|
|
MSG_E_CHARRANGEINPARSER = 'Character range only valid in lexer.';
|
|
MSG_E_MALFORMEDRANGE = 'Malformed range.';
|
|
|
|
MSG_E_ILLEGALTOKENSOPT = 'Invalid tokens {...} element option: "%s".';
|
|
MSG_E_NOTOKENSTOKEN = 'Cannot find "%s" in tokens {...}.';
|
|
MSG_E_ILLEGALELEMOPT = 'Cannot use element option "%s" for this kind of element.';
|
|
MSG_E_PARSERRULEINLEXER = 'Parser rule "%s"refenced in lexer.';
|
|
MSG_E_ASTINLEXER = 'AST specification "^" not allowed in lexer.';
|
|
MSG_E_INVTOKENINLEXER = '~TOKEN is not allowed in lexer.';
|
|
MSG_E_INVTOKENREFINLEXER= 'Assignment from token reference only allowed in lexer.';
|
|
MSG_E_INVTOKENPARAMLEXER= 'Token reference arguments only allowed in lexer.';
|
|
MSG_E_TOKENRANGEINLEXER = 'Token range not allowed in lexer.';
|
|
|
|
// analyzer
|
|
MSG_W_INVNONGREEDY = 'Being nongreedy only makes sense for (...)+ and (...)*';
|
|
MSG_W_INVEMPTYALT = 'Empty alternative makes no sense in (...)* or (...)+';
|
|
MSG_E_INFRECURSION = 'Infinite recursion to rule "%s" from rule "%s".';
|
|
|
|
// altblock
|
|
MSG_E_INVRULEINSYNPRED = 'Rule "%s" referenced in (...)=>, but not defined.';
|
|
|
|
MSG_E_PROTECTEDFILTER = 'Filter rule "%s" must be protected.';
|
|
MSG_E_CHARLITINNONLEXER = 'Cannot reference character literals in non-lexer grammar: "%s".';
|
|
|
|
implementation
|
|
|
|
end.
|