diff --git a/InstallerSamples/Graph3D/Группировка/Child.pas b/InstallerSamples/Graph3D/Группировка/Child.pas new file mode 100644 index 000000000..5abf90bdb --- /dev/null +++ b/InstallerSamples/Graph3D/Группировка/Child.pas @@ -0,0 +1,7 @@ +uses Graph3D; + +begin + var s := Sphere(0,1,2,2,Colors.Orchid); + s.AddChild(Sphere(0,2,1,0.5,Colors.White)); + s.Rotate(OrtZ,90); +end. \ No newline at end of file diff --git a/InstallerSamples/Graph3D/Материалы/Material2.pas b/InstallerSamples/Graph3D/Материалы/Material2.pas new file mode 100644 index 000000000..09b72c666 --- /dev/null +++ b/InstallerSamples/Graph3D/Материалы/Material2.pas @@ -0,0 +1,17 @@ +uses Graph3D; + +begin + for var i:=0 to 6 do + Sphere(6-2*i,-3,0,1, + Materials.Diffuse(Colors.Green) + + Materials.Specular(255-32*i,100)); + for var i:=0 to 6 do + Sphere(6-2*i,0,0,1, + Materials.Diffuse(Colors.Green) + + Materials.Specular(255,100-15*i)); + for var i:=0 to 6 do + Sphere(6-2*i,3,0,1, + Materials.Diffuse(Colors.Green) + + Materials.Specular(128,100) + + Materials.Emissive(GrayColor(15*i))); +end. \ No newline at end of file diff --git a/Parsers/PascalABCParserNewSaushkin/ABCPascal.cs b/Parsers/PascalABCParserNewSaushkin/ABCPascal.cs index e6ef2269e..86b58e079 100644 --- a/Parsers/PascalABCParserNewSaushkin/ABCPascal.cs +++ b/Parsers/PascalABCParserNewSaushkin/ABCPascal.cs @@ -1,9 +1,9 @@ // // This CSharp output file generated by Gardens Point LEX // Version: 1.1.3.301 -// Machine: DESKTOP-7B4K9VB -// DateTime: 04.06.2018 17:39:57 -// UserName: Bogdan +// Machine: DESKTOP-A6LT9RI +// DateTime: 12.06.2018 21:27:13 +// UserName: ????????? // GPLEX input file // GPLEX frame file // diff --git a/Parsers/PascalABCParserNewSaushkin/ABCPascal.y b/Parsers/PascalABCParserNewSaushkin/ABCPascal.y index f83d015ff..de0815a4c 100644 --- a/Parsers/PascalABCParserNewSaushkin/ABCPascal.y +++ b/Parsers/PascalABCParserNewSaushkin/ABCPascal.y @@ -2950,6 +2950,8 @@ typeof_expr question_expr : expr_l1 tkQuestion expr_l1 tkColon expr_l1 { + if ($3 is nil_const && $5 is nil_const) + parsertools.AddErrorFromResource("TWO_NILS_IN_QUESTION_EXPR",@3); $$ = new question_colon_expression($1, $3, $5, @$); } ; diff --git a/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs b/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs index 40aba8e2f..633e797ba 100644 --- a/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs +++ b/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs @@ -1,9 +1,9 @@ // (see accompanying GPPGcopyright.rtf) // GPPG version 1.3.6 -// Machine: DESKTOP-7B4K9VB -// DateTime: 04.06.2018 17:39:58 -// UserName: Bogdan +// Machine: DESKTOP-A6LT9RI +// DateTime: 12.06.2018 21:27:14 +// UserName: ????????? // Input file // options: no-lines gplex @@ -5146,6 +5146,8 @@ public partial class GPPGParser: ShiftReduceParser expr_l1, tkQuestion, expr_l1, tkColon, expr_l1 { + if (ValueStack[ValueStack.Depth-3].ex is nil_const && ValueStack[ValueStack.Depth-1].ex is nil_const) + parsertools.AddErrorFromResource("TWO_NILS_IN_QUESTION_EXPR",LocationStack[LocationStack.Depth-3]); CurrentSemanticValue.ex = new question_colon_expression(ValueStack[ValueStack.Depth-5].ex, ValueStack[ValueStack.Depth-3].ex, ValueStack[ValueStack.Depth-1].ex, CurrentLocationSpan); } break; diff --git a/Parsers/PascalABCParserNewSaushkin/PABC.ymc b/Parsers/PascalABCParserNewSaushkin/PABC.ymc index 868a60ccc..c18af62cb 100644 --- a/Parsers/PascalABCParserNewSaushkin/PABC.ymc +++ b/Parsers/PascalABCParserNewSaushkin/PABC.ymc @@ -189,6 +189,9 @@ script= + + + diff --git a/bin/Lng/Eng/PascalABCParser.dat b/bin/Lng/Eng/PascalABCParser.dat index 2cac9acc4..15e935157 100644 --- a/bin/Lng/Eng/PascalABCParser.dat +++ b/bin/Lng/Eng/PascalABCParser.dat @@ -62,3 +62,4 @@ OVERLOAD_IS_NOT_USED=overload is not used in PascalABC.NET ONLY_BASE_ASSIGNMENT_FOR_TUPLE=Tuple allows only base assignment := BAD_FORMAT_STRING=Interpolated string has invalid format TUPLE_ELEMENTS_COUNT_MUST_BE_LESSEQUAL_7=Count of Tuple elements must be <=7 +TWO_NILS_IN_QUESTION_EXPR=The conditional expression cannot contain nil constants on both branches \ No newline at end of file diff --git a/bin/Lng/Rus/PascalABCParser.dat b/bin/Lng/Rus/PascalABCParser.dat index 844a9d773..fc3335e01 100644 --- a/bin/Lng/Rus/PascalABCParser.dat +++ b/bin/Lng/Rus/PascalABCParser.dat @@ -61,3 +61,4 @@ 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 по обеим веткам \ No newline at end of file