2016-10-07 73 views
0

好的,我正在使用Visual Basic編寫自己的編程語言,並使用數組來創建命令。現在我有:如何使用自己的編程語言編寫多行語句visual basic

if Array(0) = "if" then 
    if array(4) = "then" then 
     if Array(1) = Array(3) then 
      if Array(5) = "println." then 
      console.writeline(stringtypedin) 
      end if 
     end if 
    end if 
end if 

但我想要發生的是使if語句,讓println在不同的行。不知道這是可能的,但我想我會問

+1

這是可能的,你應該如何看待[分析器](https://en.wikipedia.org/wiki/LALR_parser_generator)和[詞法分析器](https://en.wikipedia.org/wiki/Lexical_analysis)做到這一點。從頭開始構建是一項重要的工作。如果你的if語句是真的,你需要運行everyline,直到你達到正確的目的。 –

+0

我認爲最大的問題是這條線:'如果Array(1)= Array(3)then'。你如何期待它的工作原理? – sstan

+0

@sstan那聲明很好,說如果輸入5 = 5那麼它會說真的那不是我擔心的。 –

回答

0

好吧,我知道我有這個標記爲一個答案,但我想我已經解決,並會更新你看看是否可行,但讓我知道,如果你認爲這將工作

if array(0) = "if" then 
if array(4) = "then" then 
    if Array(1) = Array(3) then 
    booleanvar = true 
    end if 
end if 
else 
booleanvar = false 
end if 

if booleanvar = true then 
do until array(0) = "end." 
    if array(0) = "println." then 
    console.writeline(stringtypedin); 
loop 
end if 

有了這個,我應該可以說

if 5 = 5 then 
    println. hello 
end.