|
Bay Six Software Beyond the Basics
|
View previous topic :: View next topic |
Author |
Message |
Brent Site Admin
Joined: 01 Jul 2005 Posts: 800
|
Posted: Jan 9th, 2022, 6:50pm Post subject: Change log for 2022 |
|
|
2022-01-08 'EnclosedArgumentList': Make empty arguments possible. This makes 'UnenclosedArgument' unnecessary.
2022-01-08 'EnclosedArgumentList': Make empty arguments possible
2022-01-11 'RequireStatement': Add 'As alias' syntax
2022-01-17 Fix 'option.Parse()' to consume bad tokens and give correct position in error messages. Update copyright.
2022-01-24 Comment out unused resolvers.
2022-01-26 'PrimaryExpression': Give appropriate error when nondecimal integer follows primary.
2022-01-31 Remove recent addition to 'PrimaryExpression'. Add similar code to 'Argument' and 'ConcatenationExpression' that show warnings.
2022-02-09 'TypeParameter', 'TypeParameterList': Add 'parent' parameter. Add argument to all calls to these to do tests for 'In' and 'Out' modifiers.
2022-02-10 'TypeParameter': Add test for parent of 'Event' or 'Trait'
2022-02-11 Add '@Option Select Else String'
2022-02-12 Refactor 'Constraint': Combine 'ConstructorConstraint', 'DoesConstraint', 'IsConstraint', and 'SelfConstraint'.
2022-02-13 Add missing 'Where' clause to 'StructStatement'
2022-02-13 'Rename enum 'opt_sce' to 'select_type' and all its constants
2022-02-13 Change enum constants to all caps
2022-02-13 'WhenStatement': Show an error if more than one 'When Else'
2022-02-13 'IsPropertySelf': Change three comparisons to a call to 'wcschr'
2022-02-13 'UnitStatement': Add TODO. Minor housekeeping.
2022-02-14 'Constraint': Add test for 'Trait ... Where Self ...'. Reformat code to reduce line lengths.
2022-02-14 In 'separate_console', major rewrite makes it simpler. Add several '#if defined ...' to start to make the code more portable.
2022-02-19 Move block statements from 'Statement' to 'BlockStatement'. Add 'SimpleStatementError'. Change names: 'CompoundIfStatement' to 'IfBlock...', 'CompoundNewStatement' to 'NewBlock...'.
2022-02-22 'WhereClause': Add parameter and test for generic element. 'FunctionSignature': Add test for return type. 'SubSignature': Add test for return type with 'Handles'. 'TraitStatement': Change 'Name' to 'identifier'.
2022-02-24 'NewMember': Add 'Newline', 'IdentifierStatement' (property call), and 'ObjectStatement'. Change 'ObjectStatement' to take a 'Modif' pointer. Change how vars are init'd by other similar functions.
2022-02-27 Fix several error messages. Change calls to 'Err' to 'SemErr'. Capitalize keywords.
2022-03-05 'DeclaratorList': Make comma a weak separator, follow it with line break. 'StructState': Change 'Declarator' to 'DeclaratorList'.
2022-03-05 'StructState': Add 'Const', 'Enum', 'Event', and 'Struct' as members
2022-03-05 'StructProcedure': Add 'Function', 'Method', 'Property', and 'Sub' as members
2022-03-05 'ClassOrObjectMember': Add 'Const', 'Enum', 'Event', and 'Struct' as members. 'StructState': Show error for 'Class' as member.
2022-03-10 Add sigil '@' for 'Fixed64' data type
2022-03-14 'UnitAlias': Add optional integer for grammatical number, error messages
2022-03-14 'UnitAlias': Permit '0' before aliases with plurals
2022-03-18 'FunctionStatement': Permit modifier '@Iterator'
2022-03-21 'CCEval': Add test that directive starts line
2022-03-21 'Constraint': Permit class to use Self constraint. 'StructStatement': Fix incorrect argument in call to 'WhereClause'.
2022-03-24 'ClassOrObjectMember': Add 'NewStatement'. 'NewStatement': Add parameter 'mods'.
2022-03-29 Refactor construction/destruction to permit hot-swappable scanners
2022-03-31 'LoopBody', 'WhenStatement': 'When Each' is equivalent to 'When Else'. Make sure no two When statements are the same with a 'set'.
2022-04-02 'option.Parse': Add support for '@Option When ...', refactor code to make it more consistent, move repetitive code into helper functions.
2022-04-04 'WhenStatement': Add test that Begin label agrees with When label
2022-04-09 'LoopBody', 'WhenStatement': Change to use a std::map for labels
2022-04-13 'Module': Change library module to permit qualified name
2022-04-14 Change names of several tokens to make them more general
2022-04-16 Add support for '@Option String {Slash|Backslash}'. Fix some error handling.
2022-04-18 'ViviFire': Add 'ConstantValueError' to catch when a statement starts with a literal
2022-04-18 Add 'option.test' and 'ParseInlineComment' to permit '@Option Test' in conjunction with semantic comments 'expect-error' and 'expect-warning'. Partial implementation.
2022-04-18 'ConstantDeclarator': Change identifier to 'Name'
2022-04-22 Fix namespace issues
2022-04-22 Add variable 'module' to hold AST. Group related code. Add some comments.
2022-04-25 Move 'option.match' to 'Parser::Match', add 'Matches'. 'NewBlockStatement': Add tests for 'End'. 'DeclareStatement': Add tests for flags.
2022-04-29 Move part of 'InitializationExpression' into 'CollectionInitializer'. Change 'NewBlockStatement' to make 'Call' name optional and use 'CollectionInitializer'.
2022-04-30 'DoStatement': Add test for 'Loop While' or 'Loop Until' in loops that start with 'Do While' or 'Do Until'
2022-05-04 'UnenclosedArgumentList': Remove implicit line continuation after comma. Add 'OptionalNewline' to better mark implicit line continuations.
2022-05-04 Add 'DeclarationStatement' which gets added to 'Statement' and other places
2022-05-06 Add modifier '@MustUse'
2022-05-06 Add 'Deprecated' to avoid code duplication
2022-05-10 Replace 'AST::Program' and 'AST::Library' with 'AST::Module'
2022-05-14 Change destructors to use bare 'delete' for strings
2022-05-14 'StringExpression': Add out parameter to return combined substrings, which uses new 'StringValue', which uses new 'NamedString' (partially implemented)
2022-05-16 Add new method 'has' to return if a given modifier is present
2022-05-16 Methods and Subs: Add modifier '@Const' to specify that a procedure can be evaluated at compile-time. Add error messages if procedures with '@Const' or '@MustUse' have no return type.
2022-05-17 'ViviFire': Add test for invalid directives and modifiers
2022-05-18 Add 'DeclareStatement' as member of more constructs
2022-05-18 Remove standard block comments. Make /' ... '/ mid-line comment.
2022-05-18 'StringValue': Add missing decimal constant
2022-05-19 'Modifier': Change modifiers from individual tokens to composite tokens made from at-sign + identifier
2022-05-21 Add 'LambdaExpression'
2022-05-24 Copy declaration statements to 'ModuleMember' to fix conflict with '@'
2022-05-25 'separate_console': Re-instate Win32 APIs on Windows, since the POSIX code did not work correctly
2022-05-26 Make new macro 'S_PATH_SEP' and use it in 'NamedString' and 'StringExpression'
2022-05-27 Add call to '_setmode'. Change calls that use 'char' to use 'wchar_t' equivalents.
2022-05-27 'LambdaExpression': Add back 'Sub' and 'Function' address operators. Refactor duplicate code into 'LambdaFunction' and 'LambdaSub'.
2022-05-29 Change non-decimal integer literals: '&B' to '%B', '&O' to '%O', and '&H' to '%X'
2022-05-29 'StringValue': Change hex constant from '$H' to '$X'
2022-06-18 Start changes to directives. Add colon to MidlineComment.
2022-06-18 'BitFieldType': Add optional type argument
2022-06-18 Add (to all block statements) error messages of the form '<block> without END'
2022-06-22 Change 'integer_constant' and 'integer_literal' to make them more user-friendly
2022-06-26 'UnenclosedArgumentList': Make error messages more STE. Remove some commented out code.
2022-06-26 'UnenclosedArgumentList': Fix implicit line continuation
2022-06-29 'ViviFire': Add 'Begin' to block construct errors
2022-06-29 Catch misplaced 'Require' and 'Where'
2022-07-09 Comment out 'Namespace' statement
2022-07-20 Add operator and function 'Div' to deal with division by zero
2022-07-20 Fix 'DivFunction': Change expressions to 'EnclosedExpression'
2022-08-26 'option.Parse': Add 'ArgByName'. Add test for length before string matches.
2022-09-10 Add timer for run time
2022-10-29 Add context tests and error messages
2022-11-06 'Expression': Cannot have expression after TOL clause
2022-11-17 Newline or inline comment must come after line continuation
2022-11-25 'IfStatement': Change 'SyncNewline' to 'Newline' to prevent errors when the parser got out of sync after 'IF without END'
2022-11-26 'SyncNewline': Add test to stop errors after the first, which caused the parser to get out of sync
2022-12-07 Cannot use METHOD in PROGRAM module _________________ Brent
Last edited by Brent on Feb 1st, 2023, 6:27pm; edited 19 times in total |
|
Back to top |
|
|
Brent Site Admin
Joined: 01 Jul 2005 Posts: 800
|
Posted: Dec 8th, 2022, 7:23pm Post subject: Re: Change log for 2022 |
|
|
Go to http://vivifire.com to download the latest demo and source code. _________________ Brent |
|
Back to top |
|
|
|
|
|
|
|
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
|
|