It's UWAweek 42 (2nd semester, week 12)

help5501

This forum is provided to promote discussion amongst students enrolled in CITS5501 Software Testing and Quality Assurance. If posting a question, it's suggested you check first whether your question is answered in the unit Frequently Asked Questions (FAQ) list, and use the search box (on the right) to see if an answer to your question has already been posted.

Please consider offering answers and suggestions to help other students! And if you fix a problem by following a suggestion here, it would be great if other interested students could see a short "Great, fixed it!"  followup message.

Note that any posts must comply with the UWA Code of Conduct and the UWA Academic Conduct Policy. That means you should (a) treat everyone with respect and courtesy, and (b) not post your solutions to an assessment that's in progress.

If asking a programming question, it's recommended you read How do I ask a good question? If reporting or troubleshooting a bug in software used in the unit, it's recommend you read How to report bugs effectively.
Displaying selected article
Showing 1 of 143 articles.
Currently 84 other people reading this forum.


 UWA week 39 (2nd semester, week 9) ↓
SVG not supported

Login to reply

👍?
helpful
4:43pm Fri 27th Sep, Arran S.

"Callum Brown" [email protected] wrote:

Hi Arran (or anyone else who can clarify)

Regarding Q1 of the project:

Just wondering about the statement that the 'when-condition' and 'until-conditions' being optional, and if that requires further language to specify in BNF. I read a few forums and saw some people using square brackets eg [ ] but this wasn't accepted by the BNF editor.

Is it a necessary inclusion, and if yes, can you point me in the right direction as to how to represent optionality in BNF?

Thanks, Callum

Hi Callum,

Good questions. In relation to whether optionality requires additional metasymbols, beyond what BNF provides: just the vertical bar ("|") is already sufficient to expression optional elements of a language – can you see why?

In BNF, the vertical bar is the only metasymbol found on the right-hand side of a rule, and it's sufficient for expressing all context-free languages. All the other metasymbols we've seen – the asterisk ("*"), parentheses, plus symbol ("+"), et cetera, are not strictly needed – they just make writing grammars more concise and convenient, and are part of extended BNF (EBNF) rather than BNF. (The lab worksheet on syntax-based testing goes into more detail as to why the asterisk isn't needed.)

EBNF comes in many variants, so exactly what variant we're using is a good question. For this project, the spec states that we're using the version accepted by Paul Kline's "BNF playground". If you look at the playground webpage carefully, you should be able to find an explanation of what EBNF metasymbols it supports. Have a go, and if you're not able to find them, let me know.

Cheers

Arran

The University of Western Australia

Computer Science and Software Engineering

CRICOS Code: 00126G
Written by [email protected]
Powered by history
Feedback always welcome - it makes our software better!
Last modified  8:08AM Aug 25 2024
Privacy policy