Bay Six Software Forum Index Bay Six Software
Beyond the Basics
 FAQFAQ   SearchSearch   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Change log for 2021

Post new topic   Reply to topic    Bay Six Software Forum Index -> ViviFire language
View previous topic :: View next topic  
Author Message
Site Admin

Joined: 01 Jul 2005
Posts: 797

PostPosted: Sep 27th, 2021, 7:22pm    Post subject: Change log for 2021 Reply with quote

2020-12-09 add dictionary lookup (id!id)
2020-12-12 remove more Thens
2021-01-14 reduce binary logical op precedence; add simple expression
2021-03-07 New statement can use an initialization list
2021-06-18 Fix bug to test for any token besides 'Unit' after 'Base' in BaseUnitStatement
2021-06-18 Possible better fix for BaseUnitStatement
2021-06-22 Add Call Constructor statement
2021-06-30 Fixes: copyright, LoopControlVariable, PrimaryExpression, UnaryExpression. Add UnitExpression.
2021-07-10 Change several integer constants to non-reserved keywords
2021-07-22 Update copyright
2021-07-26 Change 'RequireComparison', 'RequireStatement'. Add 'RequireLogic'. Support parentheses.
2021-08-19 Add modifier '@Iterator' to 'MethodStatement', 'PropertyStatement', and 'SubStatement'. Fix two typos of 'Modifier'.
2021-08-26 Change 'SimpleStatement'. Remove 'Wait'.
2021-08-27 Rename 'ternary_option' to 'ternary' along with all of its constants. Rename most/all option fields. Rewrite option's 'Parse' method to match docs.
2021-09-21 Add 'YieldStatement'. Rename 'check_allowed' to 'validate'.

2021-10-06 DeclareStatement: Make commas between flags optional
2021-10-08 IdentifierStatement and SimpleStatement: Add a few member-access operators. Current are '.', '.?', '?', and '??'.
2021-10-11 PropertySignature: Add to permitted names 'Self', 'Self%', 'Self', and 'Self$' for dictionary access
2021-10-12 PropertySignature: Change syntax: remove 'Begin', add 'Dim' or 'Var', add first line parameters
2021-10-12 Add macro 'ID' to generate a string 's_name' that contains the name of the production, add it to all productions. Change 'SYNC Newline' to 'SyncNewline'.

2021-10-19 Add 'NullCoalescingExpression', 'TypeExpression'. Change 'BitShiftExpression', 'ComparisonExpression', 'PowerExpression', 'UnaryExpression'.
2021-10-25 Remove semicolon concatenation operator.

2021-10-25 Change 'date_literal', 'time_literal', 'version_literal', 'WhereStatement': Remove '@' from date/time.
2021-10-26 Add CatchClause. Change TryStatement.
2021-10-26 Large changes to class 'Modifier'
2021-10-27 Revert change to 'version_literal'. Remove dot-separated form of 'date_literal' to prevent confusion with version_literal.
2021-10-30 Change several Boolean arguments to use constants that are more semantic.
2021-11-03 Add 'parser' or 'm_parser' field to classes and structs that must access parser
2021-11-06 Move class 'Modifier' to files 'Modifier.cpp' and 'Modifier.h'. Do substantial work to make code compile.
2021-11-06 Do more work to make code that compiles.
2021-11-06 Make new files for class 'Modifier'. Change name to 'Modif' to not conflict with method 'Parser::Modifier'.
2021-11-06 Change 'DimStatement', 'NewStatement' and 'Statement'. Permit var declaration at module level.
2021-11-07 Add resolver 'IsAssignmentOp'. 'IdentifierStatement' can do proc calls with unenclosed argument list.

2021-11-07 Add initializers for members of 'mod_type'.
2021-11-07 Add ability to touch ''.
2021-11-11 'PrimaryExpression': Add malformed tokens that cause errors.
2021-11-11 'NewStatement': Fix block to let 'Begin' be only thing on the line.
2021-11-11 'ClassMember', 'TraitMember': Fix to add newline after 'DimStatement'.
2021-11-11 'ConstStatement', 'DimStatement': Add 'SyncNewline' locally. Remove newlines used with these in other places.
2021-11-11 'DeclareParameter', 'FormalParameter': Fix for incorrect mismatched parens. Change 'Expression' to 'EnclosedExpression'.
2021-11-11 Add 'EventStatement'. Change 'Statement'.
2021-11-12 Add '@Deprecated' to 'EnumMember'. Add string literal after '@Deprecated'.

2021-11-17 Update makefile, untested at this time.
2021-11-18 Add 'ReDimStatement', 'ReDimClause'. Give 'QualifiedName' param 'limit'. Change 'QualifiedName' and all calls to it.
2021-11-18 Fix missing test for 'limit'.
2021-11-18 Fix 'StructState' missing line break. Change 'PrimaryExpression' to remove unnecessary resolver.
2021-11-18 Fix 'FunctionSignature', 'MethodSignature', and 'SubSignature' to match documented syntax.
2021-11-19 Change 'ClassMember' to 'ClassOrObjectMember', add to 'ObjectStatement'.
2021-11-19 'ViviFire': Add error handling for embedded statements (eg 'Case', 'Else', 'When') mostly in the style 'X without Y'.

2021-11-22 Remove 'spaceship' operator construct of 'ConditionalExpression'. It caused more problems than it solved.
2021-11-23 Refactor 'CallOrNew', 'IdentifierStatement', 'CompoundStatement' to 'Statement', 'NewStatement' to 'CompoundNewStatement'. Fix 'IsAssignmentOp', 'CallStatement', 'NewMember'. Rename 'option_type' consts.
2021-11-24 Remove 'Expression' from invocations of 'ID' where it should be obvious from context.
2021-11-24 'ModuleMember': Add 'PropertyStatement'

2021-11-25 Add some comments about macro 'ID'. Change '%s' to '%ls'.
2021-11-30 Fix several problems with '@Option', particularly the 'match' functions.
2021-11-30 Fix function 'Optional' to catch incorrect block type after 'End'.
2021-12-01 Refactor handler for '@Option Warning' to remove call to 'wcschr'.
2021-12-01 Add test for 'last' in 'option.Parse()'
2021-12-02 Remove unnecessary resolver from 'Module'. Combine modifier validations into blocks.
2021-12-02 Fix missing 'parser' pointer in 'option.Parse()'.

2021-12-06 'IdentifierStatement': Add 'TypeArgumentList' to let one do eg 'List[String] strlist'.
2021-12-06 'string_literal', 'malformed_string_literal': Remove path separators '/' and '\'. 'StringExpression': Add path separators that can be used with both constants and literals.
2021-12-10 Fix macro 'ID' to be compatible with GCC, add second param for verbosity, conditionally print based on'-v' command line argument.

2021-12-20 Add modifier '@Unique' for enumerations to make sure all values are different.
2021-12-23 'PrimitiveType': Add 'SafeString'.
2021-12-24 'UnitStatement': Move 'UnitParameter' to after aliases.
2021-12-25 'UnitStatement': Make '= expression' mandatory after parameter.


Last edited by Brent on Jan 9th, 2022, 6:53pm; edited 9 times in total
Back to top
View user's profile Send private message Send e-mail
Site Admin

Joined: 01 Jul 2005
Posts: 797

PostPosted: Dec 26th, 2021, 8:14pm    Post subject: Re: Change log for 2021 Reply with quote

See here for changes in 2022.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic    Bay Six Software Forum Index -> ViviFire language All times are GMT
Page 1 of 1
Jump to:  
Quick Reply
   Shortcut keys: Alt+Q to activate, Alt+P to preview, Alt+S to submit
You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum

Lo-Fi Version
Powered by phpBB © 2001, 2005 phpBB Group