Skriptikielen parseri herjaa

Voit pyytää apua ohjelmointiongelmiin täältä.
Post Reply
User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Skriptikielen parseri herjaa

Post by esa94 »

Yritin kehittää cb:llä yksinkertaista skriptikieltä, mutta jostain syystä se ei onnistu. Kielen pitäisi välittää juuri nyt vain välilyönnistä (aloittaa kommentin), < ja >-merkeistä sekä viivasta (-). Mutta se ei toimi. Kokeilkaapa.

Ohje:
< aloittaa ohjelman
--> aloittaa toiminnon muuttujalla 2. Numero tulee viivojen määrästä. Muuttujaa 0 ei ole.
-->< tulostaa muuttujan 2. (< tulostaa muuttujan aktivoinnin jälkeen)
> lopettaa ohjelman

Lisäksi tarkoitus olisi vielä lisätä + ja -.

Code: Select all

Dim f_ As String
Dim line_ As String
Dim f As Integer
Dim len_ As Integer
Dim debug As Byte
Dim n As Byte
Dim cvar As Integer

//debug = 1

Dim var(20) As Integer

f_=CommandLine()
n = 0

If f_ Then
    f=OpenToRead( f_ )
Else
    End
EndIf
line_=ReadLine( f )

While line_
    len_=Len( line_ )
    If Not Left( line_, 1 )="<" Then CloseFile f: End
    line_=ReadLine( f )
    Repeat
        line_=Right( line_, len_-1 )
        len_=Len( line_ )
        Select Left( line_, 1 )
            Case "-"
                n+1
                cvar=var(n)
                    Repeat
                        line_=Right( line_, len_-1 )
                        len_=Len( line_ )
                        Select Left( line_, 1 )
                            Case "-"
                                n+1
                                cvar=var(n)
                            Case ">"
                                If debug Then Print "VAR"+Str(n)+", STACT"
                                Exit
                        EndSelect
                    Forever
            Case " "
                If debug Then Print "SKIP"
            Case "<"
                Print var(n)
        EndSelect
        If len_=1 Then Exit
    Forever
Wend 
Post Reply