fix #1304
This commit is contained in:
parent
37733573a5
commit
c8efdf5d53
|
|
@ -2,7 +2,7 @@
|
||||||
// This CSharp output file generated by Gardens Point LEX
|
// This CSharp output file generated by Gardens Point LEX
|
||||||
// Version: 1.1.3.301
|
// Version: 1.1.3.301
|
||||||
// Machine: IVAN-PC
|
// Machine: IVAN-PC
|
||||||
// DateTime: 03.10.2018 19:30:33
|
// DateTime: 03.10.2018 21:42:41
|
||||||
// UserName: Ivan
|
// UserName: Ivan
|
||||||
// GPLEX input file <ABCPascal.lex>
|
// GPLEX input file <ABCPascal.lex>
|
||||||
// GPLEX frame file <embedded resource>
|
// GPLEX frame file <embedded resource>
|
||||||
|
|
|
||||||
|
|
@ -1669,6 +1669,8 @@ class_attributes1
|
||||||
}
|
}
|
||||||
| class_attributes1 class_attribute
|
| class_attributes1 class_attribute
|
||||||
{
|
{
|
||||||
|
if (((class_attribute)$1 & (class_attribute)$2) == (class_attribute)$2)
|
||||||
|
parsertools.AddErrorFromResource("ATTRIBUTE_REDECLARED",@2);
|
||||||
$$ = ((class_attribute)$1) | ((class_attribute)$2);
|
$$ = ((class_attribute)$1) | ((class_attribute)$2);
|
||||||
//$$ = $1;
|
//$$ = $1;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
// GPPG version 1.3.6
|
// GPPG version 1.3.6
|
||||||
// Machine: IVAN-PC
|
// Machine: IVAN-PC
|
||||||
// DateTime: 03.10.2018 19:30:35
|
// DateTime: 03.10.2018 21:42:43
|
||||||
// UserName: Ivan
|
// UserName: Ivan
|
||||||
// Input file <ABCPascal.y>
|
// Input file <ABCPascal.y>
|
||||||
|
|
||||||
|
|
@ -3917,6 +3917,8 @@ public partial class GPPGParser: ShiftReduceParser<PascalABCSavParser.Union, Lex
|
||||||
break;
|
break;
|
||||||
case 294: // class_attributes1 -> class_attributes1, class_attribute
|
case 294: // class_attributes1 -> class_attributes1, class_attribute
|
||||||
{
|
{
|
||||||
|
if (((class_attribute)ValueStack[ValueStack.Depth-2].ob & (class_attribute)ValueStack[ValueStack.Depth-1].ob) == (class_attribute)ValueStack[ValueStack.Depth-1].ob)
|
||||||
|
parsertools.AddErrorFromResource("ATTRIBUTE_REDECLARED",LocationStack[LocationStack.Depth-1]);
|
||||||
CurrentSemanticValue.ob = ((class_attribute)ValueStack[ValueStack.Depth-2].ob) | ((class_attribute)ValueStack[ValueStack.Depth-1].ob);
|
CurrentSemanticValue.ob = ((class_attribute)ValueStack[ValueStack.Depth-2].ob) | ((class_attribute)ValueStack[ValueStack.Depth-1].ob);
|
||||||
//$$ = $1;
|
//$$ = $1;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
5
TestSuite/errors/err0289.pas
Normal file
5
TestSuite/errors/err0289.pas
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
type A = static static class
|
||||||
|
end;
|
||||||
|
|
||||||
|
begin
|
||||||
|
end.
|
||||||
5
TestSuite/errors/err0290.pas
Normal file
5
TestSuite/errors/err0290.pas
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
type A = auto sealed auto class
|
||||||
|
end;
|
||||||
|
|
||||||
|
begin
|
||||||
|
end.
|
||||||
|
|
@ -66,4 +66,5 @@ TWO_NILS_IN_QUESTION_EXPR=The conditional expression cannot contain nil constant
|
||||||
DOT_QUECTION_IN_SHORT_FUN=Expression with ?. cannot appear in a short function definition without a return value
|
DOT_QUECTION_IN_SHORT_FUN=Expression with ?. cannot appear in a short function definition without a return value
|
||||||
BAD_INT2=Too small int64
|
BAD_INT2=Too small int64
|
||||||
INVALID_INTERFACE_MEMBER=Interface members cannot have definitions
|
INVALID_INTERFACE_MEMBER=Interface members cannot have definitions
|
||||||
EXTENDED_INDEXED_PROPERTIES=Extended indexed properties are not realized
|
EXTENDED_INDEXED_PROPERTIES=Extended indexed properties are not realized
|
||||||
|
ATTRIBUTE_REDECLARED=This attribute has been already applied to type
|
||||||
|
|
@ -26,6 +26,7 @@ ENDIF_ABSENT=Незакрытая директива $ifdef или $ifndef - о
|
||||||
UNNECESSARY $else=Лишний $else
|
UNNECESSARY $else=Лишний $else
|
||||||
TYPE_NAME_EXPECTED=Ожидался тип
|
TYPE_NAME_EXPECTED=Ожидался тип
|
||||||
|
|
||||||
|
|
||||||
EOF1=конец файла
|
EOF1=конец файла
|
||||||
EOF=(конец файла)
|
EOF=(конец файла)
|
||||||
TKIDENTIFIER=идентификатор
|
TKIDENTIFIER=идентификатор
|
||||||
|
|
@ -67,3 +68,4 @@ BAD_INT2=Слишком маленькое целое
|
||||||
INVALID_INTERFACE_MEMBER=Члены интерфейса не могут иметь определение
|
INVALID_INTERFACE_MEMBER=Члены интерфейса не могут иметь определение
|
||||||
EXTENDED_INDEXED_PROPERTIES=Индексные свойства не могут быть расширенными
|
EXTENDED_INDEXED_PROPERTIES=Индексные свойства не могут быть расширенными
|
||||||
TWO_STRING_LITERALS_IN_SUCCESSION=Две литеральные строковые константы не могут стоять подряд
|
TWO_STRING_LITERALS_IN_SUCCESSION=Две литеральные строковые константы не могут стоять подряд
|
||||||
|
ATTRIBUTE_REDECLARED=Повоторное применение атрибута
|
||||||
|
|
|
||||||
|
|
@ -57,4 +57,14 @@ ONE_TYPE_PARAMETER_MUSTBE_WITHOUT_PARENTHESES=Одинокий типовий п
|
||||||
|
|
||||||
USING_UNLOCAL_FOR_VARIABLE=Параметр циклу for в PascalABC.NET потрібно описувати в заголовку циклу
|
USING_UNLOCAL_FOR_VARIABLE=Параметр циклу for в PascalABC.NET потрібно описувати в заголовку циклу
|
||||||
USING_UNLOCAL_FOREACH_VARIABLE=Параметр циклу foreach потрібно описувати в заголовку циклу
|
USING_UNLOCAL_FOREACH_VARIABLE=Параметр циклу foreach потрібно описувати в заголовку циклу
|
||||||
OVERLOAD_IS_NOT_USED=overload не використовується в PascalABC.NET
|
OVERLOAD_IS_NOT_USED=overload не використовується в PascalABC.NET
|
||||||
|
ONLY_BASE_ASSIGNMENT_FOR_TUPLE=Для кортежа допустимо только обычное присваивание :=
|
||||||
|
BAD_FORMAT_STRING=Встречена неправильная форматная строка
|
||||||
|
TUPLE_ELEMENTS_COUNT_MUST_BE_LESSEQUAL_7=Количество элементов кортежа не должно быть больше 7
|
||||||
|
TWO_NILS_IN_QUESTION_EXPR=Условное выражение не может содержать константы nil по обеим веткам
|
||||||
|
DOT_QUECTION_IN_SHORT_FUN=Выражение с ?. не может фигурировать в коротком определении функции без возвращаемого значения
|
||||||
|
BAD_INT2=Слишком маленькое целое
|
||||||
|
INVALID_INTERFACE_MEMBER=Члены интерфейса не могут иметь определение
|
||||||
|
EXTENDED_INDEXED_PROPERTIES=Индексные свойства не могут быть расширенными
|
||||||
|
TWO_STRING_LITERALS_IN_SUCCESSION=Две литеральные строковые константы не могут стоять подряд
|
||||||
|
ATTRIBUTE_REDECLARED=Повторное задание атрибута
|
||||||
Loading…
Reference in a new issue