Gąska is a tart savour and wants to give floating jobs to Javascript
-
@levicki said in Gąska is a tart savour and wants to give floating jobs to Javascript:
Nobody in their right mind can say that's better than C.
Neither can some of us in our wrong minds.
-
@levicki said in Gąska is a tart savour and wants to give floating jobs to Javascript:
You mean like inconsistent syntax (some line endings needing semicolon and some not),
It's perfectly consistent: the semicolon is a statement separator, not a line (or statement) ending. If you want some actual inconsistent syntax, let's talk about ambiguity. What does
a * b
mean in C? (Ora & b
for that matter?)and allowing for infinite nesting of functions inside of functions?
These days it's a shorter list of modern languages that don't have this feature.
Not to mention having to type all those verbose
begin
,end
,then
,to
,do
keywords instead of just braces and semicolons?Ease of writing vs. ease of reading is simply a matter of personal preference.
Here is how horrible Pascal code looks like:
Yes, that does look like horrible Pascal code. The formatting conventions are atrocious!
-
@Mason_Wheeler said in Gąska is a tart savour and wants to give floating jobs to Javascript:
Ease of writing vs. ease of reading is simply a matter of personal preference.
Luckily, braces are both easier to type and to visually parse.
is with those line numbers though?
-
@error said in Gąska is a tart savour and wants to give floating jobs to Javascript:
@boomzilla said in Gąska is a tart savour and wants to give floating jobs to Javascript:
I moved this to the sidebar, because that seems more appropriate for discussing JS and the people who use it.
We already have a lifestyle thread!
-
@El_Heffe said in Gąska is a tart savour and wants to give floating jobs to Javascript:
@error said in Gąska is a tart savour and wants to give floating jobs to Javascript:
@boomzilla said in Gąska is a tart savour and wants to give floating jobs to Javascript:
I moved this to the sidebar, because that seems more appropriate for discussing JS and the people who use it.
We already have a lifestyle thread!
OK that's definitely somebody's fetish.
-
@levicki that would look perfectly fine if it was formatted correctly (
begin
/end
shouldn't be indented, missing spaces around:=
/>=
, superfluous space aftertrunc
, ...), but you can do the same in C.
-
@error said in Gąska is a tart savour and wants to give floating jobs to Javascript:
OK that's definitely somebody's fetish.
No kink shaming, but ...
-
@levicki said in Gąska is a tart savour and wants to give floating jobs to Javascript:
I am usually not the one to argue against "there is a proper tool for every task" but I don't think Pascal is one of those tools. Sure you can use it to teach people programming.
If the task is “learning programming” then it works fine. Pascal was how I made the big jump from Basic and a smattering of poorly-understood assembler to C, back in 1991–92. I still wonder which book I was using as a guide, as it had the best explanation of pointers I've seen anywhere. (The book had been recovered by the college library to be virtually totally anonymous brown hardback.)
-
@levicki said in Gąska is a tart savour and wants to give floating jobs to Javascript:
@Mason_Wheeler said in Gąska is a tart savour and wants to give floating jobs to Javascript:
What does
a * b
mean in C? (Ora & b
for that matter?It means exactly what everyone's first thought would be it does -- multiplication and bitwise and operation.
Wow, you really are that dumb! I specifically said "ambiguity", and you still missed it. Hint: what if
a
is a type rather than a variable?If on the other hand you wrote
a = *b
ora = &b
that would be dereferencing a pointer and taking the address of a variable.Not quite what I was thinking of, but kinda on the right track. Why are operators being reused like that? Why are they such mnemonically useless things? What does a multiplication symbol or an ampersand have to do with pointers and addresses?
In Pascal, the operators look like exactly what you would think: an
@
symbol takes the address of something (where it is at in memory), and a^
(pointy thing) dereferences a pointer. And these operators do nothing else. There isn't some other weird context in which they perform arithmetic or bitwise logic.
-
@Gąska said in Gąska is a tart savour and wants to give floating jobs to Javascript:
So don't write JS. Simple as that.
No, it fucking isn't. What the actual goddamn fucking bloody shit? On which Earth are you on?
On one where there's still plenty Java, C# and Python jobs available, or hell, even C is still pretty popular. And my mailbox is spammed increasingly often with Rust jobs, of all things!
Yeah I just wanted to this. Every job I see is a little bit of C# plus 17 JavaScript frameworks. I don't think I've ever seen Python, Rust, or C, and it's been years since regular Java showed up on my radar. VB was the standard in government here for a long time but it virtually went extinct when most of the development work was offshored.
-
@Zenith I'm starting to believe I live in an alternate reality and this forum is a portal across multiverse.
-
@Gąska said in Gąska is a tart savour and wants to give floating jobs to Javascript:
I'm starting to believe I live in an alternate reality
The rest of us call it Poland
-
@Gąska I wish. I'd like to go somewhere that I didn't need 15 years of Angular, React, Bootstrap, Knockout, Ext, and Node just to maybe get a phone interview with a thick accent I can barely hear, let alone decipher.
-
@Zenith said in Gąska is a tart savour and wants to give floating jobs to Javascript:
@Gąska said in Gąska is a tart savour and wants to give floating jobs to Javascript:
So don't write JS. Simple as that.
No, it fucking isn't. What the actual goddamn fucking bloody shit? On which Earth are you on?
On one where there's still plenty Java, C# and Python jobs available, or hell, even C is still pretty popular. And my mailbox is spammed increasingly often with Rust jobs, of all things!
Yeah I just wanted to this. Every job I see is a little bit of C# plus 17 JavaScript frameworks. I don't think I've ever seen Python, Rust, or C, and it's been years since regular Java showed up on my radar. VB was the standard in government here for a long time but it virtually went extinct when most of the development work was offshored.
In the last decade I've mostly done Java, with a bit of python and kotlin mixed in. And various SQL dialects and ripoffs.
-
@Carnage said in Gąska is a tart savour and wants to give floating jobs to Javascript:
In the last decade I've mostly done Java, with a bit of python and kotlin mixed in. And various SQL dialects and ripoffs.
My current project is mostly Python and C, with a chunk of Java too (and a smattering of SQL).
-
@error said in Gąska is a tart savour and wants to give floating jobs to Javascript:
Luckily, braces are both easier to type and to visually parse.
And to match in vim.
-
@Mason_Wheeler said in Gąska is a tart savour and wants to give floating jobs to Javascript:
Hint: what if
a
is a type rather than a variable?Code Review:
E_REJECT
(We have coding standards for a reason)
-
@Gąska said in Gąska is a tart savour and wants to give floating jobs to Javascript:
@error imagine how cool JS would be if it was designed in 2010, when the OOP brainworm was at its low. No prototypal inheritance and all the problems related to it!
Wow, I've got not one but TWO downvotes for shitting on JS. That's really funny, considering the reason this thread exists at all was because I decided to defend JS for once, and people got mad at me!
-
@Gąska said in Gąska is a tart savour and wants to give floating jobs to Javascript:
@Gąska said in Gąska is a tart savour and wants to give floating jobs to Javascript:
@error imagine how cool JS would be if it was designed in 2010, when the OOP brainworm was at its low. No prototypal inheritance and all the problems related to it!
Wow, I've got not one but TWO downvotes for shitting on JS. That's really funny, considering the reason this thread exists at all was because I decided to defend JS for once, and people got mad at me!
I have better luck leaning in hard to the idea that I enjoy all things sick and twisted.
That said, you're welcome to ignore all the OOP stuff in JS and do everything procedurally. You can even get clever with function composition.
-
@error said in Gąska is a tart savour and wants to give floating jobs to Javascript:
You can even get clever with function composition.
You can get cleverer and not use JS
-
@levicki said in Gąska is a tart savour and wants to give floating jobs to Javascript:
@Mason_Wheeler said in Gąska is a tart savour and wants to give floating jobs to Javascript:
Hint: what if
a
is a type rather than a variable?Then you suck at naming your types?
You have to be doing it on purpose at this point.
@Mason_Wheeler said in Gąska is a tart savour and wants to give floating jobs to Javascript:
Why are operators being reused like that?
Not enough distinct keyboard symbols at the time to express everything needed?
So enhance readability by using actual words that mean what you're trying to express!
@Mason_Wheeler said in Gąska is a tart savour and wants to give floating jobs to Javascript:
In Pascal, the operators look like exactly what you would think: an @ symbol takes the address of something (where it is at in memory), and a ^ (pointy thing) dereferences a pointer. And these operators do nothing else.
Yes, but Pascal programmers being high-level academic types didn't really need to use bitwise operators as often as C programmers so they could waste
^
,|
,&
, etc on frivolous things.Umm... you have no clue what you're talking about at all, do you? the
|
and&
symbols aren't used in Pascal at all. They use the keywordsand
,or
, andxor
. There's no "double and operator" nonsense because there doesn't need to be one; the "logical version" applies to operands of boolean types and the "bitwise version" applies to operands of integer types, with no need for the confusion of having two different copies of the operators.
-
@Mason_Wheeler said in Gąska is a tart savour and wants to give floating jobs to Javascript:
@levicki said in Gąska is a tart savour and wants to give floating jobs to Javascript:
@Mason_Wheeler said in Gąska is a tart savour and wants to give floating jobs to Javascript:
Hint: what if
a
is a type rather than a variable?Then you suck at naming your types?
You have to be doing it on purpose at this point.
Doing what? Taking your posts seriously?
-
@boomzilla Ignoring the actual point about C's grammatical ambiguity by focusing on metasyntactic name choices.
-
@Mason_Wheeler you're obviously going to have to be more verbose about that because our collective mind reading modules are failing to tell us whatever the fuck you were thinking when you wrote that.
-
@boomzilla "Metasyntactic name" = "arbitrary word that could stand for anything." I said
a
where I could just as easily have saidfoo
orbar
, which are common metasyntactic names when discussing programming.The point is that in C, the meaning of
a * b
is ambiguous because it depends on whethera
is a variable (in which case it parses as a multiplication expression) or a type (in which case it's a declaration of a pointer to ana
, with nameb
). Saying thata
is a bad choice for a type name is missing the point so blatantly that it has to be simply trolling.
-
@Mason_Wheeler said in Gąska is a tart savour and wants to give floating jobs to Javascript:
@boomzilla "Metasyntactic name" = "arbitrary word that could stand for anything." I said
a
where I could just as easily have saidfoo
orbar
, which are common metasyntactic names when discussing programming.The point is that in C, the meaning of
a * b
is ambiguous because it depends on whethera
is a variable (in which case it parses as a multiplication expression) or a type (in which case it's a declaration of a pointer to ana
, with nameb
). Saying thata
is a bad choice for a type name is missing the point so blatantly that it has to be simply trolling.That this happens all the time to you would be a clue to a smarter person that you have a problem communicating with other hoomans.
Also
a * b
is not a valid C statement so try again.
-
@boomzilla said in Gąska is a tart savour and wants to give floating jobs to Javascript:
@Mason_Wheeler you're obviously going to have to be more verbose about that because our collective mind reading modules are failing to tell us whatever the fuck you were thinking when you wrote that.
You must've never seen any C code in your entire career to not get what he meant with
a * a
in his initial post. Either that, or you're literally illiterate - unable to comprehend writing.Given your track record, I'm going with the latter.
-
@levicki said in Gąska is a tart savour and wants to give floating jobs to Javascript:
@Mason_Wheeler said in Gąska is a tart savour and wants to give floating jobs to Javascript:
the
|
and&
symbols aren't used in Pascal at all. They use the keywordsand
,or
, andxor
.I know, that's exactly why I wrote that Pascal programmers are high-level academic types with no real need to use those things every day. They can afford code verbosity when said code is not used in anything relevant.
...yeah. You have no clue what you're talking about. Those operators get used literally on a daily basis in real-world code, because they're the same operators for logical operations on two booleans.
Pascal code is used to run some of the biggest TV networks in existence. I know because I worked on that project.
Pascal code is used to sell and process tickets for the biggest venues around, including Disneyland. I know because I worked on that project.
Pascal code is used to run diagnostic software in hospitals. I know because I worked on that project. That's about as "relevant" as it gets!
If you are already talking about Pascal being better than C from the start maybe read Why Pascal is Not My Favorite Programming Language to learn what shortcomings Pascal had in its original form (later fixed with language extensions as explained here).
Yeah, I've seen it. I also saw who the author is, and I know what else he wrote. Someone who has a direct financial stake in Pascal's biggest competitor is hardly an unbiased source of information!
@Mason_Wheeler said in Gąska is a tart savour and wants to give floating jobs to Javascript:
The point is that in C, the meaning of
a * b
is ambiguous because...Because you are intentionally making it ambioguous with your contrived, out-of-context, example.
I didn't make it "ambioguous" (sic); Dennis Ritchie did. It's "out of context" deliberately: programming language grammars are supposed to be context-free for proper parsing, but this example is context-sensitive. (These are the proper formal names of two different categories of language complexity in the Chomsky hierarchy. A context-sensitive language is formally significantly more difficult to work with and understand than a context-free one.)
-
@boomzilla said in Gąska is a tart savour and wants to give floating jobs to Javascript:
@Mason_Wheeler said in Gąska is a tart savour and wants to give floating jobs to Javascript:
@boomzilla "Metasyntactic name" = "arbitrary word that could stand for anything." I said
a
where I could just as easily have saidfoo
orbar
, which are common metasyntactic names when discussing programming.The point is that in C, the meaning of
a * b
is ambiguous because it depends on whethera
is a variable (in which case it parses as a multiplication expression) or a type (in which case it's a declaration of a pointer to ana
, with nameb
). Saying thata
is a bad choice for a type name is missing the point so blatantly that it has to be simply trolling.That this happens all the time to you would be a clue to a smarter person that you have a problem communicating with other hoomans.
Only when they're trolls deliberately playing dumb like :@levicki:.
Also
a * b
is not a valid C statement so try again.I never said it's a statement; I said it's a valid part of the grammar.
-
@boomzilla said in Gąska is a tart savour and wants to give floating jobs to Javascript:
Also
a * b
is not a valid C statement so try again.Are you intentionally lying or have you actually never seen C code in your life?
-
@Gąska said in Gąska is a tart savour and wants to give floating jobs to Javascript:
@boomzilla said in Gąska is a tart savour and wants to give floating jobs to Javascript:
Also
a * b
is not a valid C statement so try again.Are you intentionally lying or have you actually never seen C code in your life?
Well, it lacks a statement terminator so I guess it's not valid.
-
@Gąska said in Gąska is a tart savour and wants to give floating jobs to Javascript:
@boomzilla said in Gąska is a tart savour and wants to give floating jobs to Javascript:
@Mason_Wheeler you're obviously going to have to be more verbose about that because our collective mind reading modules are failing to tell us whatever the fuck you were thinking when you wrote that.
You must've never seen any C code in your entire career to not get what he meant with
a * a
in his initial post. Either that, or you're literally illiterate - unable to comprehend writing.Given your track record, I'm going with the latter.
I know, you have a habit of tripping yourself up with pedantry. His complaint reminds me of @blakeyrat complaining about theoretical problems that aren't really problems that real people encounter like nulls in file names.
-
@Mason_Wheeler said in Gąska is a tart savour and wants to give floating jobs to Javascript:
@boomzilla said in Gąska is a tart savour and wants to give floating jobs to Javascript:
@Mason_Wheeler said in Gąska is a tart savour and wants to give floating jobs to Javascript:
@boomzilla "Metasyntactic name" = "arbitrary word that could stand for anything." I said
a
where I could just as easily have saidfoo
orbar
, which are common metasyntactic names when discussing programming.The point is that in C, the meaning of
a * b
is ambiguous because it depends on whethera
is a variable (in which case it parses as a multiplication expression) or a type (in which case it's a declaration of a pointer to ana
, with nameb
). Saying thata
is a bad choice for a type name is missing the point so blatantly that it has to be simply trolling.That this happens all the time to you would be a clue to a smarter person that you have a problem communicating with other hoomans.
Only when they're trolls deliberately playing dumb like :@levicki:.
No, you have a long history of expecting people here to read your mind.
Also
a * b
is not a valid C statement so try again.I never said it's a statement; I said it's a valid part of the grammar.
And you removed it from context to make a misleading point.
-
@Gąska said in Gąska is a tart savour and wants to give floating jobs to Javascript:
@boomzilla said in Gąska is a tart savour and wants to give floating jobs to Javascript:
Also
a * b
is not a valid C statement so try again.Are you intentionally lying or have you actually never seen C code in your life?
OK. Put that into a compiler and let me know what happens.
-
@error said in Gąska is a tart savour and wants to give floating jobs to Javascript:
@Gąska said in Gąska is a tart savour and wants to give floating jobs to Javascript:
@boomzilla said in Gąska is a tart savour and wants to give floating jobs to Javascript:
Also
a * b
is not a valid C statement so try again.Are you intentionally lying or have you actually never seen C code in your life?
Well, it lacks a statement terminator so I guess it's not valid.
Yep. Or a left hand side. Or the rest of whatever the statement was.
-
@boomzilla said in Gąska is a tart savour and wants to give floating jobs to Javascript:
And you removed it from context to make a misleading point.
@Mason_Wheeler said in Gąska is a tart savour and wants to give floating jobs to Javascript:
It's "out of context" deliberately: programming language grammars are supposed to be context-free for proper parsing, but this example is context-sensitive. (These are the proper formal names of two different categories of language complexity in the Chomsky hierarchy. A context-sensitive language is formally significantly more difficult to work with and understand than a context-free one.)
What exactly is misleading about that?
-
@Mason_Wheeler said in Gąska is a tart savour and wants to give floating jobs to Javascript:
@boomzilla said in Gąska is a tart savour and wants to give floating jobs to Javascript:
And you removed it from context to make a misleading point.
@Mason_Wheeler said in Gąska is a tart savour and wants to give floating jobs to Javascript:
It's "out of context" deliberately: programming language grammars are supposed to be context-free for proper parsing, but this example is context-sensitive. (These are the proper formal names of two different categories of language complexity in the Chomsky hierarchy. A context-sensitive language is formally significantly more difficult to work with and understand than a context-free one.)
What exactly is misleading about that?
I was using a less pedantic meaning of the word "context." I apologize, because it seemed obvious to me but should not have been given the ambiguity. In this case the context was the fact that you gave a fragment of a statement.
And yes, of course there's a bit more involved, like noticing that someone is doing multiplication for no reason so maybe there's something else going on, but again, the level of this that you're talking about isn't a big deal.
Probably similar to the difference between using braces or keywords.
-
@boomzilla eh...I guess there's not a significant difference in the use of the word context, but I stand by my diagnosis of the issue.
-
@Mason_Wheeler said in Gąska is a tart savour and wants to give floating jobs to Javascript:
Pascal code is used to run some of the biggest TV networks in existence. I know because I worked on that project.
Pascal code is used to sell and process tickets for the biggest venues around, including Disneyland. I know because I worked on that project.
Pascal code is used to run diagnostic software in hospitals. I know because I worked on that project. That's about as "relevant" as it gets!That genuinely surprises me as the last time I saw Pascal code was over 20 years ago in highschool and then only because the math teacher that knew C was fired. I don't recall it being a bad language (took a long time to stop typing := though) but I thought Delphi was supposed to be the pro/business version and even that was on life support after the 1990s. In fact, my first job involved replacing a Delphi control that had become abandonware and, like damned near everything else, wasn't supported by the lousy .NET 1.0/1.1 tools/interfaces.
-
@levicki said in Gąska is a tart savour and wants to give floating jobs to Javascript:
Straight out of The Hobbit:
Gandalf: "Good morning"
Bilbo: "Do you wish me a good morning, or mean that it is a good morning whether I want it or not; or that you feel good this morning; or that it is a morning to be good on?"Yet you not complaining about English not being context free.
I also don't try to write code in English, for precisely that reason: ambiguity is very bad for formal language. Instead, I use specially-designed formal languages with restricted grammars that are lower on the Chomsky hierarchy, because it makes it much easier to express my point clearly and unambiguously.
-
@Zenith Yeah, it's declined a lot due to poor management by corporate overlords who seem incapable of realizing it's not the early 1990s anymore, but it's still very much in use for a surprising amount of mission critical applications.
I didn't actually work on this one, but I did interview there before taking a job elsewhere. Ever see an ATM, or a self-checkout payment terminal at the supermarket, that's branded "NCR"? Delphi.
-
@levicki said in Gąska is a tart savour and wants to give floating jobs to Javascript:
Straight out of The Hobbit:
Gandalf: "Good morning"
Bilbo: "Do you wish me a good morning, or mean that it is a good morning whether I want it or not; or that you feel good this morning; or that it is a morning to be good on?"Why are you not complaining about English not being context free?
The problem I think he is trying to address is that C syntax is lazy enough that it creates ambiguity where it should not exist. This ambiguity is why the compiler is/was very slow and has lead to all sorts of issues over the decades. The unfortunate problem is that way too much time has passed since it was created and too much code has been written using it to change the language. C++ was an attempt, but even its inception was merely just C with objects and the code was translated to equivalent C by the compiler.
A plethora of scripting languages have been created in order to not have to actually use C (because it's hard to use apparently by unix system admins), but their run-times and parsers are all still C underneath so the languages are still beholden to it and in most cases maintain the same idiosyncrasies as C instead of trying to fix them...and in the cases where they think they are fixing them they are just making new problems that wouldn't exist other wise. Like say removing braces because apparently people seem to think code block identifiers are just too hard to understand and make the code ugly so they introduce the problem of making sure your code is just indented properly and claiming its a feature meant to make code easier to read. Or hell, trying to remove types which just make scripting harder and has to involve more operators to remove the new forms of ambiguity that's created.
Java and C# are in the same boat...their foundation is still C way down deep. They are verbose messes too. Something I find interesting though is that the creator of both Turbo Pascal and Delphi also created C# and TypeScript for Microsoft when they stole him from Borland around the turn of this century. C# carries over a lot of ideas and stuff from Delphi. https://en.wikipedia.org/wiki/Anders_Hejlsberg
For the record I use both C/C++ and Delphi all the time. For the company I work for currently I recently developed a mobile app for one of our clients and it's completely cross platform with one code base. It's easy to maintain and gives you the luxury of fast compiled native ARM code. No Objective-C and no Java...so I'm not sure why there is so much bitching about Pascal really. It's fast and it gets the job done. You can develop any time of application in it too.
-
Also Pascal (rather Delphi) is used to run financial systems as well. The last job I worked at was a software dev company that developed credit union software from POS to ATM....everything. We used both C/C++ and Delphi.
-
@levicki said in Gąska is a tart savour and wants to give floating jobs to Javascript:
I have seen plenty of NCR ATMs but not a single one had anything in Pascal on them -- only C/C++/.Net.
In my case it was ATM network transaction processing...not the ATM software itself. But still, it's out there in use in places you wouldn't realize unless you dug.
-
@levicki said in Gąska is a tart savour and wants to give floating jobs to Javascript:
although the cross-platform stuff is really tools, libraries, and frameworks, not the language itself
Sure, that's true even with C/C++. Lots of people have put lots of effort into making these languages easier to use...on both sides.
-
@levicki said in Gąska is a tart savour and wants to give floating jobs to Javascript:
I was only triggered by "Pascal got everything right from the start" false statement.
Yeah, not necessarily everything, but it did get a lot of things right. Like the fact that code units are truely modular. There are no tricks being used like in C/C++.
-
@levicki said in Gąska is a tart savour and wants to give floating jobs to Javascript:
but not the Pascal that predates C he was talking about
That really depends, but yes, the original Pascal language was designed for teaching programming. I'm just not sure why people harp on that and never seem to bother looking at the fact that it quickly moved out of that use space once companies realized it was damn useful. That credit union software company I used to work for had quite a bit of grey beards and they used Pascal on Vaxes and PDPs for the same software systems and what not...so it has been being used for a long time for lots of important stuff.
It's like a highly underrated musician.
-
All through the 80s and early 90s most BBS software was written in Pascal. I found a site a while back that had probably every single set of BBS source code available that had been developed during that time. Pretty cool...I downloaded some and took at look at it. There have been quite a few games developed using it too. I mean, you have inline ASM available to you so producing the proper game code libraries was totally possible. Most notably were the early Sierra games (Kings Quest and the like)...Pascal.
Currently, I'm developing an MMO in my spare time and while I'm using Torque3D (c/c++) for the front end game client and the map server instancing, I'm using Delphi for all the other server services required and desktop admin tools and what not...it runs great. I'm developing them as a server architecture platform so it can be reused to spin up MMOs pretty quickly. I think in that realm of games a lot of people who want to make them don't realized how much is involved...back-end wise. I'm doing it in a way that you don't need to actually use Delphi unless you want to make code changes to the core code...which is how T3D and other game engines work these days.
-
@boomzilla said in Gąska is a tart savour and wants to give floating jobs to Javascript:
Also
a * b
is not a valid C statement so try again.Leaving aside the missing
;
, it's an expression and expressions are valid statements (and have to be as both function calls and assignments are part of the C expression grammar). If you put a raw multiplication in, you'll probably get a warning about a statement with no effect, but if it wasn't a part of the grammar then it'd be an error.The biggest problem with C parsing is that you need the syntactic classification of a user-defined token to decide how parse a token sequence, and because the namespace of variables and the namespace of types are distinct in C, that's a place for serious ambiguity.
-
@dkf said in Gąska is a tart savour and wants to give floating jobs to Javascript:
Leaving aside the missing ;, it's an expression and expressions are valid statements (and have to be as both function calls and assignments are part of the C expression grammar).
Yes, but then there's no ambiguity.