Click here to Skip to main content
15,890,438 members

Welcome to the Lounge

   

For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.

 
GeneralRe: Maybe a first article from my side - unsure how to do it - tips appreciated Pin
OriginalGriff3-Apr-17 8:42
mveOriginalGriff3-Apr-17 8:42 
GeneralRe: Maybe a first article from my side - unsure how to do it - tips appreciated Pin
Mark_Wallace4-Apr-17 3:57
Mark_Wallace4-Apr-17 3:57 
GeneralRe: Maybe a first article from my side - unsure how to do it - tips appreciated Pin
Marc Clifton1-Apr-17 7:28
mvaMarc Clifton1-Apr-17 7:28 
GeneralRe: Maybe a first article from my side - unsure how to do it - tips appreciated Pin
Jörgen Andersson1-Apr-17 7:44
professionalJörgen Andersson1-Apr-17 7:44 
GeneralRe: Maybe a first article from my side - unsure how to do it - tips appreciated Pin
OriginalGriff1-Apr-17 8:13
mveOriginalGriff1-Apr-17 8:13 
GeneralRe: Maybe a first article from my side - unsure how to do it - tips appreciated Pin
Jörgen Andersson1-Apr-17 8:29
professionalJörgen Andersson1-Apr-17 8:29 
GeneralRe: Maybe a first article from my side - unsure how to do it - tips appreciated Pin
User 110609791-Apr-17 8:49
User 110609791-Apr-17 8:49 
GeneralRe: Maybe a first article from my side - unsure how to do it - tips appreciated Pin
User 110609792-Apr-17 1:24
User 110609792-Apr-17 1:24 
Sorry to disturb, please feel free not to answer Smile | :)

What do you think about this Basic layout for the article:

Content
^Introduction
^What you will learn
^Prerequisites
^What is a Parser
^What is EBNF (Extended Backus–Naur form)
^EBNF to data structure
^From EBNF to wizard
^Using the code

:Introduction
This article tries to point out how a simple programming language can be defined by a meta language like EBNF (Extended Backus–Naur form) and how a parser and - the main aspect here- a wizard can be build based on such a meta definition.

Since the whole topic is very wide, we will concentrate here on the theme "From EBNF to Wizard". The also very intersting part to develop a CompilerCompiler (CoCo) is addressed in a minor way. Minor, because you can find a lot about CoCo in www e.g.
- https://www.codeproject.com/Articles/343646/Mathematical-Expression-Parser-Using-Coco-R
- .... TODO much more

:What you will learn
How to create a wizard for a formal defined "programming language" - defined e.g. by a meta language like EBNF.

:Prerequisites
It is an advantage if you allready have some basics knowledege about parsing (lexical analysis, syntacticals analysis, semantic analysis) and also some knowledge about EBNF.

In case you are familar with this stuff you can skip the next two sections and proceed with ^EBNF to data structure

:What is a Parser in short
Keep in mind, this is a very abreviated introduction.

The job of parsing a text can be splitted into three Jobs:
1. Lexcial Analysis
2. Syntactical Analysis
3. Semantic Analysis

While https://de.wikipedia.org/wiki/Compiler#Lexikalische_Analyse does describe these three points togehter (english wiki not) I feel free to translate and summarize them here instead of giving links to wiki:
TODO

:What is EBNF (Extended Backus–Naur form)
TODO

:EBNF to data structure
TODO

:From EBNF to wizard
TODO, the big part here

:Using the code

::Some notes about the code
The code is far away to be optimal or ready for production. Also it will break a lot of times SOLID principles. Why I'm doing it like this:

The main target is to show in a very easy/direct way the relations of the involved aspects, without hiding the essentials by using over engineered code.

Also the code is originally developed with Embarcadero Studio in c++ and to be more up to date I migrated all the stuff to c#

:Points of Interest
TODO

:History
V#.# Inital release yyyy/mm/dd

BTW: I decided to write the very first Version in a simple text Editor - no Pictures etc. - to be sure I concentrate on the content/text.
Bruno

modified 19-Jan-21 21:04pm.

GeneralRe: Maybe a first article from my side - unsure how to do it - tips appreciated Pin
Marc Clifton2-Apr-17 3:06
mvaMarc Clifton2-Apr-17 3:06 
GeneralRe: Maybe a first article from my side - unsure how to do it - tips appreciated Pin
User 110609792-Apr-17 4:20
User 110609792-Apr-17 4:20 
GeneralRe: Maybe a first article from my side - unsure how to do it - tips appreciated Pin
Marc Clifton2-Apr-17 10:47
mvaMarc Clifton2-Apr-17 10:47 
GeneralRe: Maybe a first article from my side - unsure how to do it - tips appreciated Pin
jediYL3-Apr-17 13:25
professionaljediYL3-Apr-17 13:25 
GeneralRe: Maybe a first article from my side - unsure how to do it - tips appreciated Pin
User 110609793-Apr-17 20:21
User 110609793-Apr-17 20:21 
GeneralHow did the hipster burn his mouth? Pin
OriginalGriff1-Apr-17 5:20
mveOriginalGriff1-Apr-17 5:20 
GeneralRe: How did the hipster burn his mouth? Pin
Daniel Pfeffer1-Apr-17 6:56
professionalDaniel Pfeffer1-Apr-17 6:56 
GeneralRe: How did the hipster burn his mouth? Pin
Rick York2-Apr-17 13:11
mveRick York2-Apr-17 13:11 
JokeBut I wanna be exclusive! Pin
Cornelius Henning1-Apr-17 1:59
professionalCornelius Henning1-Apr-17 1:59 
GeneralRe: But I wanna be exclusive! Pin
CDP18021-Apr-17 3:05
CDP18021-Apr-17 3:05 
GeneralRe: But I wanna be exclusive! Pin
DaveAuld1-Apr-17 3:33
professionalDaveAuld1-Apr-17 3:33 
GeneralRe: But I wanna be exclusive! Pin
OriginalGriff1-Apr-17 3:59
mveOriginalGriff1-Apr-17 3:59 
GeneralRe: But I wanna be exclusive! Pin
CDP18021-Apr-17 5:07
CDP18021-Apr-17 5:07 
GeneralRe: But I wanna be exclusive! Pin
OriginalGriff1-Apr-17 5:15
mveOriginalGriff1-Apr-17 5:15 
GeneralRe: But I wanna be exclusive! Pin
Johnny J.1-Apr-17 13:11
professionalJohnny J.1-Apr-17 13:11 
GeneralYou Poor Sad Bastards Pin
Michael Martin1-Apr-17 1:46
professionalMichael Martin1-Apr-17 1:46 
GeneralRe: You Poor Sad Bastards Pin
OriginalGriff1-Apr-17 2:00
mveOriginalGriff1-Apr-17 2:00 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.