[Prog] EBNF : De oplossing

Forum van 1ste Bachelor Informatica.

Moderator: Praesidium

User avatar
Arawn
Posts: 39
Contact:

EBNF : De oplossing

Post#1 » Tue Oct 11, 2005 4:59 pm

EBNF Visualizer

Intro
This program visualizes EBNF (Extended Backus Naur Form) grammar rules as syntax diagrams. A text file with the suffix .ebnf is required, which contains grammar rules written in EBNF. The program parses the rules, visualizes them in form of syntax diagrams and is able to generate .gif files for further use (e.g. in Word or on Web pages). Furthermore the program allows users to manipulate the look and the layout of the generated syntax diagrams.
Screenshot
Image

Download

Code: Select all

http://dotnet.jku.at/applications/Visualizer/EBNF-Visualizer.exe
ENJOY!

*Note:

Ik zou persoonlijk alle oplossingen op de pc maken met de visualizer maar daarna overtekenen op papier, zodat het niet zou opvallen


ALL HAIL ME! :twisted:
(en de kerel die het mij verteld heeft, maar waarvan ik de naam niet weet)
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=

http://antira.blackmetal.be

=+=+=+=+=+=+=+=+=+=+=+=+=+=+=

User avatar
j0lle
WOZ
Posts: 396

Re: EBNF : De oplossing

Post#2 » Tue Oct 11, 2005 5:15 pm

Arawn wrote:EBNF Visualizer

(en de kerel die het mij verteld heeft, maar waarvan ik de naam niet weet)
sammy (of sam?)
jaja pwnij :-)
qwertyuiop

User avatar
Arawn
Posts: 39
Contact:

Post#3 » Tue Oct 11, 2005 5:22 pm

Kem wa liggen kloten dermee en tis dus best simpel om te gebruiken

zij die het niet lukt even snel een tutorial:

Maak een txt file aan
Hernoemen naar .ebnf
schrijf in de ebnf file de EBNF code

Code: Select all

vb: Module = MODULE ident ";" [ImportList] DeclSeq [BEGIN StatementSeq] END ident ".". 
=> Opgepast: altijd endigen met een punt! (zodat program weet wanneer het gedaan is)

Open EBNF Visualizer
File -> Load Grammar
Selecteer uw .ebnf filetje
Rules -> Selecteer de naam van het ding da ge hebt ingegeven in de .ebnf file
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=

http://antira.blackmetal.be

=+=+=+=+=+=+=+=+=+=+=+=+=+=+=

User avatar
Arawn
Posts: 39
Contact:

Post#4 » Tue Oct 11, 2005 5:40 pm

En voor de echte lamzakken:

Kheb die code's ingescand en in tekst omgezet zoda ge enkel moet copy pasten!

Code: Select all

Module = MODULE ident ";" [ImportList] DeclSeq [BEGIN
StatementSeq] END ident ".".
ImportList = IMPORT [ident ":_"] ident {"," [ident ":_"]
ident} ";".
DeclSeq = {CONST -[ConstDecl ";" } I TYPE {TypeDecl ";"}
I VAR {VarDecl ";"}} {ProcDecl ";" I ForwardDecl ";"}. ConstDecl = IdentDef	ConstExpr.
TypeDecl = IdentDef	Type.
VarDecl = IdentList	Type.
ProcDecl = PROCEDURE [Receiver] IdentDef [FormalPars]
";" DeclSeq [BEGIN StatementSeq] END ident.

ForwardDecl = PROCEDURE "-" [Receiver] IdentDef
[FormalPars].
FormalPars = "(" [FPSection {";" FPSection}] ")"
[":" Qualident].
FPSection = [VAR] ident {"," ident} ":" Type. Receiver = "(" [VAR] ident ":" ident ")". Type = Qualident
I ARRAY [ConstExpr {"," ConstExpr}] OF Type
I RECORD ["("Qualident")"] FieldList {";" FieldList} END
I POINTER TO Type
I PROCEDURE [FormalPars].
FieldList = [IdentList ":" Type]. StatementSeq = Statement {";" Statement}. Statement = [ Designator	Expr
I Designator ["(" [ExprList] ")"]
I IF Expr THEN StatementSeq {ELSIF Expr THEN StatementSeq}
[ELSE StatementSeq] END
I CASE Expr OF Case {"I" Case} [ELSE StatementSeq] END
I WHILE Expr DO StatementSeq END
I REPEAT StatementSeq UNTIL Expr
I FOR ident ":=" Expr TO Expr [BY ConstExpr] DO
StatementSeq END
I LOOP StatementSeq END
I WITH Guard DO StatementSeq {"I" Guard DO StatementSeq}

[ELSE StatementSeq] END I EXIT
I RETURN [Expr] ].
Case = [CaseLabels {"," CaseLabels} ":" StatementSeq]. CaseLabels = ConstExpr [".." ConstExpr]. Guard = Qualident ":" Qualident. ConstExpr = Expr.
Expr = SimpleExpr [Relation SimpleExpr]. SimpleExpr = ["+" I "-"] Term {AddDp Term}. Term = Factor {MulOp Factor}.
Factor = Designator ["(" [ExprList] ")"] I number
I character) string I NIL I Set I "(" Expr ")"
I "'" Factor.
Set = "{" [Element {"," Element}] "}".
Element = Expr [".." Expr].
Relation	I "<" I "<_" I ">" I ">_" I IN I IS. AddOp =	OR.
MulOp =	DIV I MOD	"&".
Designator = Qualident {"." ident I "[" ExprList "I"
I "'"I "(" Qualident ")"}.
ExprList = Expr {"," Expr}. IdentList = IdentDef {"," IdentDef}. Qualident = [ident "."] ident. IdentDef = ident [" *	I "-"]ident = letter {letter I digit}.
letter = "a" I "b" I "c" I "d"	"e" I "f" I "g" I "Y
I	"illI	"j"	I	..k..	I	..1..	I	..m..	I	..n..	I	..o..	I	..p..	I	"q"
I	..r..	I	,.S..I	..t..	I	..u..	I	..V..	I	"W"	I	,.x..	I	..y..	I	"z"
"A" I "B" I "C" I "D" I "E" I 'Fl'	"Gil	"Hip
I	..I.. I	"J"	I	..K..	I	..L..	I	..M..	I	"N"	I	..D..	I	..p..	I	..Q"
I	"R"	I	..S..I	"T"	I	..U..	I	"V"	I	..W..	I	..X..	I	..y..	I	"z"
digit = "Oil 1	11111	11211	11311	114"	11511	"611	"711
I "s" I "9"
number = integer I real.
integer = digit {digit} I digit {hexDigit} "H". real = digit {digit} "." {digit} [ScaleFactor]. ScaleFactor = ("E" I "D") ["+" I "-"] digit {digit}. hexDigit = digit I "A"	"B" I "C" I "D" I "E" I "F". character = digit {hexDigit} "X".
string = '	' {char}	{char}	"
Last edited by Arawn on Tue Oct 11, 2005 5:44 pm, edited 1 time in total.
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=

http://antira.blackmetal.be

=+=+=+=+=+=+=+=+=+=+=+=+=+=+=

User avatar
WiDeCr0w
Posts: 38
Contact:

Post#5 » Tue Oct 11, 2005 5:41 pm

hmm.. beetje heel handig?
[img]http://www.widecrow.com/newbanner.jpg[/img]

User avatar
Arawn
Posts: 39
Contact:

Post#6 » Tue Oct 11, 2005 5:46 pm

Wel opletten af en toe pakt een een character verkeerd dus ik zou eens dubbel checken me uw cursus erbij!
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=

http://antira.blackmetal.be

=+=+=+=+=+=+=+=+=+=+=+=+=+=+=

User avatar
Nickman
Posts: 391
Contact:

Post#7 » Sat Oct 15, 2005 4:31 pm

Lol, heel da stuk van letter is fout :D.
Met welk prog hebde da laten scannen?

En voor een of andere reden wilt die EBNF visualizer ni openen :D
Webmaster of http://www.bwf.be
Make it idiot proof and someone will make a better idiot!

[quote="zarry"][url=http://www.winak.be/forum/viewtopic.php?p=12475#12475]wickaaaah! thcikci tschiki paaaauuuuw wicked-original![/url][/quote]

Krikke
Posts: 29

Post#8 » Thu Nov 03, 2005 10:36 pm

niemand te laat? :mrgreen:

User avatar
Norfolk
WOZ
Posts: 780
Contact:

Post#9 » Thu Nov 03, 2005 10:49 pm

Moest da al binnen zijn? :shock:









Nene, heb ingediend :D

User avatar
j0lle
WOZ
Posts: 396

Post#10 » Thu Nov 03, 2005 11:01 pm

rofl :p
gisterenacht e :)
eeft er al iemand punte? :p
qwertyuiop

User avatar
EagleEye812
Posts: 406

Post#11 » Thu Nov 03, 2005 11:50 pm

ik heb ! out of 0.0

:roll: :p
[quote="zarry"][url=http://www.winak.be/forum/viewtopic.php?p=12475#12475]wickaaaah! thcikci tschiki paaaauuuuw wicked-original![/url][/quote]

User avatar
Shinta
WOZ
Posts: 1122

Post#12 » Fri Nov 04, 2005 5:46 pm

EagleEye812 wrote:ik heb ! out of 0.0

:roll: :p
ik ok tot nu toe :wink:
Remember remember the fifth of November
Gunpowder, treason and plot.
I see no reason why gunpowder, treason
Should ever be forgot...

User avatar
Norfolk
WOZ
Posts: 780
Contact:

Post#13 » Fri Nov 04, 2005 6:00 pm

zou hij die nu al verbeterd hebben? :mrgreen:

User avatar
Yo_rik
Posts: 69

Post#14 » Sat Nov 05, 2005 5:46 pm

Norfolk wrote:zou hij die nu al verbeterd hebben? :mrgreen:
:lol: Ik denk van niet:
F. Arickx wrote:Portfolio evaluatie
– Uit de portfolio wordt een opdracht geselecteerd ter evaluatie
– Draagt ±2.5/20 bij voor de globale evaluatie van het vak
:shock: er wordt dus maar een opdracht verbeterd en waarschijnlijk besproken op het mondeling examen

User avatar
Arawn
Posts: 39
Contact:

Post#15 » Sat Nov 05, 2005 6:33 pm

das heel de clue van da ding, waarschijnlijk heeft da geen nut...

Enkel voor uzelf om te controleren of ge "proper" programmeert
En wa is de kans da ge geëvalueerd wordt op een stel tekeningeskes? :roll:
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=

http://antira.blackmetal.be

=+=+=+=+=+=+=+=+=+=+=+=+=+=+=

Return to “1ste Bachelor”

Who is online

Users browsing this forum: No registered users and 62 guests