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 ViviFire/src

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: 799

PostPosted: Jan 10th, 2024, 3:02am    Post subject: Change log for ViviFire/src Reply with quote

2023-12-24 'MultiplicativeOperator': Warn if `Mod` and `Rem` are used although they are the same operation
2024-01-09 Add support for the most common newline characters
2024-01-09 Can use semicolon to put many simple statements together on one line
2024-01-09 Give a better error message when there is more than one statement after `Then` or `Else`
2024-01-12 Change `@Option Type Each [ Param | Var ]` to `... Type { Each | Param | Var }`
2024-01-12 Fix some error messages
2024-01-12 Add the start of support for interpolated strings
2024-01-28 `StringValue` can parse interpolated strings with the help of new method `ParseInterpolated`

2024-02-06 Add home page and more whitespace to help screen. Change `getchar()` to `wscanf()` to keep console window open.
2024-02-07 Add line and column delta calculations to `class Errors`. `StringValue` gives correct line/column numbers for interpolation errors. Some interpolation errors no longer report `EOF expected`. Add modded Coco/R *.frame files.
]2024-02-08 Add new function `wchar_to_UTF8()` called by `StringValue()`. Change some uses of `*pChar` to a char literal when the given char is obvious.
2024-02-11 `MultiplicativeOperator`: Fix incorrect line/column in warnings when MOD and/or REM is interpolated. Add accessors `ColDelta` and `LineDelta` to class `Errors` to help with that.
2024-02-11 Move `UnaryOperator` into `UnaryExpression`. Add warnings for whitespace after plus and minus.
2024-02-13 Change `wsprintf` to `swprintf` for `%f` support
2024-02-13 Add `OptionalArgList`. Add some support for `@Option Args Enclosed` with procedure calls.
2024-02-14 `CallOrNew`: Refactor heuristics for `Call` to reduce duplicated tests; Add two heuristics for `New`.
2024-02-15 Main.cpp: Change elapsed time from seconds to milliseconds
2024-02-17 Add char set `notAfterStr` and use it in token `malformed_string_literal`
2024-02-18 `PrimaryExpression`: Change error messages for malformed tokens, especially malformed string
2024-02-18 `ConstantValueError`, `PrimaryExpression`: Give better error messages, especially when a line starts with a malformed token
2024-02-19 `NewBlockStatement`, `NewMember`: Change syntax of the construct with `Begin Call` from collection initializer to semicolon-separated argument lists
2024-02-24 Add minimal support for Rust-style literal suffixes (eg, `123i8`, `123r64`, `123u128`). Let hex literals end with underscore. Fix a bug in line continuation. Reduce some verbosity of subtokens.

2024-03-05 Full re-write of modifier handling to use RTTI and polymorphic classes. Makes it much more type-safe.
2024-03-08 Let `Begin` come after a comma+EOL at the end of an argument list. Change `NewBlockStatement` to `NewBeginStatement`.
2024-03-11 `ParseInterpolated`: Change function call from `Expression` to `TolExpression`
2024-03-12 Remove token `nullable_identifier` and replace it with `hash` ('#') used in `Name` and `ObjectName`
2024-03-12 `IsPropertySelf()`: Refactor to remove a redundant test. `typed_identifier` will always contain a sigil.
2024-03-18 `EnclosedArgumentList`: Add null-conditional element/index access operator `(?)`
2024-03-19 Make `@Const If` an alternative to `Const If`
2024-03-20 Try to improve performance when source code contains many modifiers
2024-03-20 Put limits on unnecessary calls to `Modifiers::Let()` at 4+ calls
2024-03-30 Change how modifiers are stored, again. Use a vector of pair's. Add helper `Modifiers::find()`.
2024-03-30 Wrap most calls to `std::find` into new method `in_context`
2024-03-30 Change `Block()` to `ExitBlock()`. Move functionality of `Exit_block_with_block()` and one test from `ExitStatement()` into `ExitBlock` and remove the first.

2024-04-06 Change the syntax of `Does` used to apply traits.
2024-04-12 Fix 2 bugs: `IsPropertySelf` was true for any name that started with 'self'. `ArrayDimensionList`: change `Expression` to `EnclosedExpression`.
2024-04-19 Change syntax of default property to `Property [Self] ! name (...)`. Remove `IsPropertySelf()`.
2024-04-19 Change syntax of property to allow the line `Get = expr`
2024-04-24 `PropertyStatement`: Better tests for correct numbers of parameters for default property and `Set`
2024-04-25 Fix and/or clean up many error messages

2024-05-01 `main` returns 2 to indicate a programming error
2024-05-06 'Expression': Catch errors 'Possibly missing operator [after type character]'
2024-05-08 Major refactor: Remove productions with one caller to their parent.
2024-05-23 Major refactor continued. Move one-time productions to their parent productions.

2024-06-01 `ModuleWhere::normalize`: Ignore fourth group with only zeros, eg '' becomes '1.2.3'. Fix bug in call to `wcscpy_s`.
2024-06-01 Major refactor completed
2024-06-10 'UnitStatement': Add assignment checking with block `When`. Change 'CaseExpression' to 'ComparisonClause'.
2024-06-21 'ConstStatement': Permit `@Shared`, but warn that it has no effect
2024-06-21 Move `ConstIfStatement` into `ConstStatement`. Add check for no modifiers. Add comments for other lines that do the same.
2024-06-27 Modifiers can use `unique_ptr` as an alternative to `shared_ptr`. Also makes the exe smaller.

2024-07-02 `CallOrNew`: Fix bug in heuristic
2024-07-07 Give a better error message if the logical operators `And Then` and `Or Else` are mistyped as single words, eg `AndThen`


Last edited by Brent on Jul 7th, 2024, 8:56pm; edited 15 times in total
Back to top
View user's profile Send private message Send e-mail
Site Admin

Joined: 01 Jul 2005
Posts: 799

PostPosted: Jul 7th, 2024, 8:57pm    Post subject: Re: Change log for ViviFire/src Reply with quote

Go to to download the latest demo and source code.
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