« first day (1323 days earlier)      last day (1857 days later) » 

9:00 PM
I've currently replaced unrestrictedIdentifier in that block with RESTRICTED_LETTER
 
I was just curious about its IDENTIFIER because our unrestrictedIdentifer includes keywords whereas VBAL explicitly says IDENTIFER is antyhing but that.
 
where RESTRICTED_LETTER = [a-zA-Z];
 
@Vogel612 that should work
 
the problem is... it fails with NoViableAltException :/
 
and cleaner than an inline lexer token ;-)
hmm
 
9:01 PM
even on the previously working tests ...
 
I wonder if it's that way because we need to get it as a identifer context?
 
Oh my gosh.
 
@this do we?
 
Just had a fun hour or so.
One of our servers was throwing errors--17.5k of them.
 
IDK, I'm trying to understand why we do this:
firstLetter : unrestrictedIdentifier;
lastLetter : unrestrictedIdentifier;
 
9:02 PM
Turns out we hadn't updated the site, but had updated the DB.
 
which is funny because it's not limited to one letter and permits keywords
 
makes it easier to spell out the parser rule I guess
 
Our clients didn't know, fortunately, because we had the siteup file down.
 
yeah it's too wide
 
and I wondered if it's so that we can get it as an identifier context
 
9:03 PM
@Hosch250 we're... parsing :)
 
@this to access firstLetter() and lastLetter() from any LetterRangeExpressionContext
 
Sorry.
 
makes it easier to iterate the tokens I suppose
@Vogel612 do we know if the defDirective rule is entered?
 
yeah, that's why I was wondering if that was why it was that way. But I suppose we'll find out when we break unit tests expecting some specific context.... right?
 
it borks inside letterSpec(), soo. Yes, I think so
 
9:05 PM
that's a good sign :)
maybe letterSpec can be specified with just lexer tokens
 
wouldn't that still change the context?
 
yes
 
(odn't know for fact, just asking)
FWIW, Sam's stuff included ability to "inherit" contexts - I can't remember why we aren't using that ATM
 
huh
 
Why does the VBA spec define upper-case-A and upper-case-Z as IDENTIFIER? That is really kind of stupid.
 
9:08 PM
'tis
 
hm can't find that documentation where Sam lists differences between his and the official version
 
I think you just have to put the singleLetter alternative last.
 
that's what I actually started with
 
The SLL parser does not backtrack.
 
in the list, he mentioned the ability to have a context inherit from another context.
thus making it possible for different things to have a common context, helping simplifying our consuming code.
 
9:11 PM
context inheritance would remove a lot of the partial class extensions
oh I think I know
is it the # ruleName stuff?
if so, it's not flexible enough for our needs AFAICT
(although we do use it in several places, e.g. expressions)
 
Oh ok
 
Btw, in the VBA spec, there is literally no diffrence between universal-letter-range and letter-range.
 
would be nice to have a way to say subStmt and propertyLetStmt and propertySetStmt are all #procedureStmt
 
^
 
You have to really understand from the context that upper-case-A really means what it says.
 
9:15 PM
IOW the spec is clear as mud :-/
 
Well, they all are partials, though. Nothing to stop us from extending them and make them implement an interface (for instance).
 
@this yeah we do exactly that. it's just, well, it's kind of painful
 
@Mat'sMug Has Microsoft ever delivered anything else?
OK, I must have missed that. GTK.
(gee, few months in and I'm still learning)
 
we do that notably to store state in the contexts
 
Interesting point there, A-Z is the univeral one and also covers all variables.
even if the first character is not between A and Z.
 
hmmm. has to be a rule somewhere to forbid the non-letter for first character
 
@this unless not doing that prevents a successful parse, there's no need to
we're parsing compilable code, not trying to write a compiler :)
 
... slacker.
 
@this it's what kept us (well mostly MDoerner, Mug and Awgaya) sane
oh and Comintern, I guess?
 
(to clarify - my previous comment was about MS-VBAL documentation - I doubt they'd just use letter-range and still allow non-alphabetic character for first letter of the identifer)
 
9:22 PM
it's Microsoft...
 
lol. yeah. I should know better. :p
Here's our documentation. Oh, don't worry if it conflicts the actual specs. We just did this because whatever.
 
The point is that it also covers, Japanese, Chinese and Korean characters.
 
Hm. didn't consider that.
(and wouldn't it get annoying if you keep switching between latin and kanji in code?)
 
and we do have Japanese, Chinese and Korean users
 
It seems to be their method of internationalization of a really obscure and harmful feature.
 
9:26 PM
lol
 
[rubberduck-vba/Rubberduck] build for commit c18550af on unknown branch: AppVeyor build failed
BUILD FAILURE!
 
TBH, I've yet to see MSFT get internationalization right.
 
If I had not read that part of the spec, I would have never guessed that such a feature existed.
At least .NET promotes the use of unicode.
 
and it's very hard to test because we can't just type japanese in VBA
I suppose we could unit test them with mocks, though but....
 
I am not fluent enough in it to change my windows settings to it.
 
9:29 PM
Is that all it takes, though?
I ask because Office has their language and changing Windows settings won't change that.
 
get an IME and you're basically done
 
and I don't know from which VBE derives its encoding.
 
neither
encoding isn't related to Locale or language
 
AFAIK, the VBE saves in the current system codepage.
That is why you should never ever use characters outside the first 127.
 
Correct. Joel had an article about that
 
9:31 PM
hmm ... there's nothing about that in the language spec I got here..
then again that's the language spec, soo ...
 
It is the VBE, not VBA.
It assumes everything is always encoded in the current system codepage.
 
I'd not be so sure... If I understand the spec correctly, you can have Traditional Chinese, Simplified Chinese, Korean and Japanese identifiers in the same Module
 
Finally, HDD migrated and VS2017 updated.
 
because the distinction is made on the identifier level
 
Problem is, the VBE only reads one codepage.
It is the old problem that you have no idea how a text file has been encoded if nobody tells you.
 
9:36 PM
that's why each identifier in one of these languages has a starting character that defines the codepage
and all characters in that identifier are encoded UTF-16 with an offset :/
at least that's how I read the spec
Either way: I'm done with VBA for today
 
The spec also states that the unicode specifiers in the spec are not what the VBA engine uses. I uses the equivalent points in the codepages, at least as far as I understand it.
 
huh.
 
>VBA support for identifiers containing non
-
Latin ideographic characters was
designed based upon
characters code standards that predate the creation of
Unicode
. For this reason, non
-
Latin Identifiers
are specified in terms of the Unicode
characters corresponding to code points in these legacy
standards rather than directly using similar Unicode characters classes.
Any Unicode character that corresponds to a character in a Microsoft Windows code page with a single
byte code point in the r
ange %x80
Hm, that did not turn pout the way I wanted it to.
 
multiline semi-markdown and possibly invisible control characters in PDF copy-pasted text ...
 
stupid control characters
 
9:58 PM
@Mat'sMug I'm trying to catch up on chat. Does this have to do with the DefType inspection I didn't finish the PR for?
 
10:08 PM
not really. it's more of a concidence that upgrading the ANTLR broke the parsing for DefType
 
Ok.
 
10:36 PM
One word of warning, never open multiple workbooks when running RD in the debugger with successful COM release loggin enabled; it takes ages to shut down.
 
WEEKEND!!!
 
10:59 PM
Enjoy it. Catch up on missing sleep.
 
11:48 PM
> I tested a bit and made the following abservations:

1. The binding exceptions also occur on `next`.

2. I had to deactivate automatic parsing after a project has been added because that borked the first workbook opened while RD was running already. (All subsequent ones have been OK though.) This problem is also present on `next`.

3. The workbook does not disappear after closing issue still persists.

4. Whenever a second workbook had been opened, there is an access violation on shutd
> I tested a bit and made the following abservations:

1. The binding exceptions also occur on `next`.

2. I had to deactivate automatic parsing after a project has been added because that borked the first workbook opened while RD was running already. (All subsequent ones have been OK though.) This problem is also present on `next`.

3. The workbook does not disappear after closing issue still persists.

4. Whenever a second workbook had been opened, there is an access violation on shutd
[rubberduck-vba/Rubberduck] build for commit 5303bca7 on unknown branch: AppVeyor build succeeded
 

« first day (1323 days earlier)      last day (1857 days later) »