|
Bay Six Software Beyond the Basics
|
View previous topic :: View next topic |
Author |
Message |
Brent Site Admin
Joined: 01 Jul 2005 Posts: 800
|
Posted: Feb 13th, 2023, 8:33pm Post subject: Change log for 2023 |
|
|
2023-01-22 Add tests for errors when 'Exit' or 'GoTo' used in 'Finally'
2023-01-22 Update copyright
2023-01-28 Add 'TolExpression'. Change 'AssignmentStatement', 'ConditionalExpression', 'DoStatement', 'Expression', 'IfBlockStatement', 'IfStatement', 'SelectStatement', 'WhileStatement'. Add support for 'Var s = Sub ...'.
2023-01-28 Add support for 'Exit Constructor'
2023-01-29 'IsNamedArgument': Add a rough heuristic to warn about possible syntax error with '=' and ':='
2023-02-01 'CallStatement', 'ConstructorStatement': Add tests for errors 'CALL CONSTRUCTOR is available only in a CONSTRUCTOR' and 'CONSTRUCTOR VAR cannot have a parameter list'
2023-02-07 'ExitStatement': Add test for error 'CALL BASE is available only in a CONSTRUCTOR'
2023-02-13 Remove 'Int', 'Real', and 'UInt' as primitive data types
2023-02-17 Change conditional compilation from directives (@If...@Else...@End) to statements (Const If...Else...End If)
2023-02-21 Tokens 'string_literal' and 'malformed_string_literal': Remove commented out parts
2023-02-27 Add command line switch '-t' to display time elapsed
2023-02-27 Change invocations of macro 'ID()' to use constants 'STMT' and 'EXPR'. These values are switched with each other.
2023-03-03 'NamedString': Change names of some time constants (eg, $TIME_24_SEC becomes $TIME_24HMS). Fix case-sensitivity bug.
2023-03-07 'StringExpression': Remove vector v and use wstring res directly. Conditionally print res if arg '-v2' or greater.
2023-03-09 'Deprecated': Divide '@' and 'Deprecated' into two tokens. Add 'OptionalNewline'.
2023-03-09 'EnumMember', 'EnumStatement': Permit many constants on the same line with semicolons. Add 'SyncSeparator'.
2023-03-17 'Argument', 'ConcatenationExpression': Remove unnecessary tests for ampersand errors which are no longer possible
2023-03-26 'option': Add 'Mod_floored'. Change 'When_id_Begin_id' to 'When_Begin_id'.
2023-04-01 Add union 'Modif::arg' AKA 'ModifArg'. Update copyright.
2023-04-01 Add arguments for modifier `@SI`: BINARY, LARGE, and SMALL
2023-04-02 'EnumStatement', 'SelectStatement': Add new modifier `@Strict` to make sure enumeration constants obey special rules
2023-04-10 Change 'fixed_literal' to a prefix of 1 or 2 characters. Remove 'malformed_fixed_literal'. Change 'PrimaryExpression' to handle numerics with the new 'NumericExpression'. Fixed literals can be prefixed or suffixed with `@`.
2023-04-18 Change 'DivFunction' to 'DivisionFunction'. Add new functions 'Mod' and 'Rem' that return the first arg if the second is zero.
2023-04-20 Identifiers can use the characters micro and mu. Add pragma 'bad_identifier' to find incorrectly encoded files, missing the BOM preamble. This problem causes the scanner to assume ANSI encoding.
2023-04-25 Add new function 'HasWhitespace'. Use it in 'AssignmentOperator' and 'NumericExpression'.
2023-04-26 'GotoStatement': Change 'Expression' to 'TolExpression'
2023-05-03 'SyncNewline': Move 'Get()' to before 'Err()'
2023-05-14 'NumericExpression': Combine duplicate strings; Do test for invalid chars in fixed literal; Make sure error always refers to the first char
2023-05-20 Move enum 'mods' and array 'm_name' into macro 'NAME_STRING_PAIRS'. This makes sure that the two do not become out-of-sync.
2023-05-21 'Modifier': Prevent whitespace after at-sign. 'NumericExpression': Prevent fixed literal with two at-signs.
2023-05-21 Make as many strings into Unicode as possible
2023-05-23 Refactor 'NumericExpression' to remove 'UnitExpression' and add recursion
2023-05-26 Change class 'param_type' to 'param_validator'. Change method 'modifier' to 'add'. Add method 'none'. Make sure Property's Set procedure has one parameter.
2023-05-26 'PropertyStatement': Cannot use GET with `@WriteOnly`, SET with `@Iterator` or `@ReadOnly`, `@Iterator` with `@WriteOnly`
2023-05-26 Fix incorrectly lexing of `@modif1@modif2` as 'typed_identifier'
2023-05-28 'PropertyStatement': Cannot use GET with `@WriteOnly`, SET with `@Iterator` or `@ReadOnly`, `@Iterator` with `@WriteOnly`
2023-05-28 'Module': Make 'Program' and 'Library' clauses optional, where 'Program' is the default
2023-06-04 After upgrade to VS2022, comment out line that caused a new error
2023-06-21 Add 'EventName', 'SimpleNonCallExpression'. Change 'QualifiedName' to return a string. Change several uses of 'QualifiedName' to 'EventName', 'SimpleExpression', or 'SimpleNonCallExpression'.
2023-06-21 'CallStatement': Hack lets it use 'UnenclosedArgumentList' again (eg `Call test 123`)
2023-06-24 'CallStatement': Make the hack better. Add test for right bracket.
2023-06-27 'StringValue': Throw exception (`out_of_range`) for bad char codes
2023-07-29 Replace token `date_literal` with subtokens parsed by `DateTimeExpression()`. Add `IsDateTime()`. Calls to these functions move from `PrimaryExpression()` to `NumericExpression()`.
2023-08-08 Add several calls to `ResetPeek()` when a function calls `Peek()` more than one time
2023-08-20 Change syntax and semantics of `Constructor Var`. Parameters become mandatory and `Call Constructor` becomes optional.
2023-09-13 `TolExpression`: Make `real_literal` optional
2023-09-18 Change conditional expression syntax to be more like Ada
2023-09-18 Make friendlier error messages for unbalanced parentheses
2023-10-05 Add new modifier `@Test` for unit testing
2023-10-23 Correctly parse all syntaxes of `@Option` in the manual
2023-11-18 For loops, change `Begin...When` to `Exit When...When`, add `When Begin`, change `@Option When Begin ID` to `... When ID`
2023-12-11 Remove remaining code related to `Begin...When`. Give better error when loop starts with `Exit` without `When`.
2023-12-24 'MultiplicativeOperator': Warn if `Mod` and `Rem` are used although they are the same operation _________________ Brent
Last edited by Brent on Jan 2nd, 2024, 3:27am; edited 14 times in total |
|
Back to top |
|
|
Brent Site Admin
Joined: 01 Jul 2005 Posts: 800
|
Posted: Dec 12th, 2023, 6:07pm Post subject: Re: Change log for 2023 |
|
|
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
|
|