Backus-Naur Form hulp graag

Status
Niet open voor verdere reacties.

TheAutomator

Nieuwe gebruiker
Lid geworden
1 mrt 2015
Berichten
1
hallo iedereen!
ik ben hobby programmeur (beginner) en nieuw hier,

de taal waar ik meestal in werk is vbscript, daar doe ik zo wat alles mee.
op dit moment ben ik bezig met een activeX dll die ik wil gebruiken in men code:

http://goldparser.org/doc/index.htm

ik probeer men eigen mini programmeer taal te ontwerpen in BNF (Backus-Naur Form) maar ik ondervind een hoop problemen
waar ik vragen over heb.

deze linkt beschrijft wat men probleem is:
http://stackoverflow.com/questions/28788198/bnf-trouble-with-the-not-operator

het komt er op neer dat men code de 'not' operator niet toestaat achter bijvoorbeeld de '+' operator.
dat lukt in vbscript wel..

hier is men BNF code:

Code:
<expression>    ::= <expression> 'xor' <expression 1>
                 |  <expression 1>

<expression 1>  ::= <expression 1> 'or' <expression 2>
                 |  <expression 2>

<expression 2>  ::= <expression 2> 'and' <expression 3>
                 |  <expression 3>

<expression 3>  ::= 'not' <expression 3> ! unary right not error: "x = 5 + not y"
                 |  <expression 4>

<expression 4>  ::= <expression 4> '=' <expression 5>
                 |  <expression 4> '<' <expression 5>
                 |  <expression 4> '>' <expression 5>
                 |  <expression 5>

<expression 5>  ::= <expression 5> '&' <expression 6>  
                 |  <expression 6>

<expression 6>  ::= <expression 6> '+' <expression 7>
                 |  <expression 6> '-' <expression 7>
                 |  <expression 7>

<expression 7>  ::= <expression 7> 'mod' <expression 8>
                 |  <expression 8>

<expression 8>  ::= <expression 8> '*' <expression 9>
                 |  <expression 8> '/' <expression 9>
                 |  <expression 9>

<expression 9>  ::= 'negate' <expression 9> !unary right
                 |  '-'      <expression 9>
                 !|  'not'    <expression 9> if i put 'not' here it works but is this ok?
                 |  <expression 10>

<expression 10> ::= <group> '^' <expression 10> !right ^
                 |  <group>

<group> ::= '(' <expression> ')'
         |  <value>

<value> ::= string
         |  number

ook heb ik problemen met het correct opstellen van andere onderdelen in men bnf code dus als ik hier geholpen
word komen er waarschijnlijk nog een paar vragen in nieuwe topics bij. :D

heb je zin om me te helpen?

vriendelijke groeten!
-TheAutomator
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan