71 lines
3.3 KiB
C++
71 lines
3.3 KiB
C++
|
|
|
|
data type = <scalar> <identifier> <calculation> <list> <hash> <function>
|
|
|
|
<1><unknown_type_id> ::=
|
|
IDENTIFIER
|
|
<!= <scalar>|<identifier>|<calculation>> <+>|<-> <unknown_type_id>
|
|
|
|
<1><scalar> ::= NUMBER|STRING
|
|
<!= <scalar>|<identifier>|<calculation>> <+>|<-> <scalar>
|
|
<1><scalars> ::=
|
|
<scalar>|<scalars>|<list>|<hash>|<calculation>|<function> <,> <scalar>|<identifier>|<list>|<hash>|<calculation>|<function> <!=operator>
|
|
<identifier>|<identifiers> <,> <scalar>|<list>|<hash>|<calculation>|<function> <!=operator>
|
|
<1><identifier> ::=
|
|
IDENTIFIER <!= <[>|<.>|<(>>
|
|
<unknown_type_id>|<identifier> <.> <identifier>
|
|
<unknown_type_id> <[> <scalar>|<identifier>|<calcualtion> <]> <!= <[>|<.>|<(>>
|
|
<unknown_type_id> <(> <scalar>|<scalars>|<identifier>|<identifiers>|<calculation>|<list>|<hash> <)> <!= <[>|<.>|<(>>
|
|
<unknown_type_id> <(><)> <!= <[>|<.>|<(>>
|
|
<unknown_type_id> <.> <.> <.>
|
|
<1><identifiers> ::=
|
|
<identifier>|<identifiers> <,> <identifier>
|
|
<1><calculation> ::=
|
|
<scalar>|<identifier>|<calculation> <+>|<->|<*>|</>|<~>|<<>|<<=>|<>>|<>=>|<==>|<!=>|<and>|<or> <scalar>|<identifier>|<calculation>
|
|
<(> <scalar>|<identifier>|<calculation> <)> <+>|<->|<*>|</>|<~>|<<>|<<=>|<>>|<>=>|<==>|<!=>|<and>|<or> <scalar>|<identifier>|<calculation>
|
|
<scalar>|<identifier>|<calculation> <+>|<->|<*>|</>|<~>|<<>|<<=>|<>>|<>=>|<==>|<!=>|<and>|<or> <(> <scalar>|<identifier>|<calculation> <)>
|
|
<(> <scalar>|<identifier>|<calculation> <)> <+>|<->|<*>|</>|<~>|<<>|<<=>|<>>|<>=>|<==>|<!=>|<and>|<or> <(> <scalar>|<identifier>|<calculation> <)>
|
|
<!= <scalar>|<identifier>|<calculation>> <+>|<-> <calculation>
|
|
<1><list> ::=
|
|
<[><]>
|
|
<!=<identifier>|<unknown_type_id>><[> <scalar>|<scalars>|<identifier>|<identifiers>|<list>|<hash>|<calculation> <]>
|
|
<1><hash> ::=
|
|
<{><}>
|
|
<{> <hashmember>|<hashmembers> <}>
|
|
<1><hashmember> ::=
|
|
<identifier> <:> <scalar>|<identifier>|<list>|<hash>|<function>|<calculation>
|
|
<1><hashmembers> ::=
|
|
<hashmember>|<hashmembers> <,> <hashmember>
|
|
<1><function> ::=
|
|
<func> <{><}>
|
|
<func> <{> <statement> <}>
|
|
<func> <(><)> <{><}>
|
|
<func> <(><)> <{> <statement> <}>
|
|
<func> <(> <identifier>|<identifiers> <)> <{><}>
|
|
<func> <(> <identifier>|<identifiers> <)> <{> <statement> <}>
|
|
<1><definition> ::=
|
|
<var> <identifier> <=> <scalar>|<identifier>|<list>|<hash>|<calculation> <;>
|
|
<var> <identifier> <=> <(> <scalar>|<identifier>|<list>|<hash>|<calculation> <)> <;>
|
|
<var> <identifier> <=> <function>
|
|
<1><assigntment> ::=
|
|
<!=var> <identifier> <=> <scalar>|<identifier>|<list>|<hash>|<calculation> <;>
|
|
<!=var> <identifier> <=> <(> <scalar>|<identifier>|<list>|<hash>|<calculation> <)> <;>
|
|
<statement> ::=
|
|
<!=<for> <(>> <definition>|<assignment>
|
|
<return> <scalar>|<identifier>|<list>|<hash>|<calculation> <;>
|
|
<return> <;>
|
|
<!=return> <continue>|<break>|<identifier> <;>
|
|
<choose>
|
|
<loop>
|
|
<statements> ::=
|
|
<statement>|<statements> <statement>|<;>
|
|
<1><choose>
|
|
<if> <(> <scalar>|<identifier>|<calculation> <)>
|
|
<elsif> <(> <scalar>|<identifier>|<calculation> <)>
|
|
<else> <if> <(> <scalar>|<identifier>|<calculation> <)>
|
|
<else>
|
|
<loop> ::=
|
|
<while> <(> <scalar>|<identifier>|<calculation> <)> <{><}>
|
|
<while> <(> <scalar>|<identifier>|<calculation> <)> <{> <statement> <}>
|
|
<while> <(> <scalar>|<identifier>|<calculation> <)> <statement>
|