カスタム言語インタープリタとして構文解析し、それは私が期待するべきである入力です。だから私C++、私はそれを私はそれがコマンド(ラインごと)だと解釈すべきであるカスタム言語として入力されたテキストファイルを解析して実行する必要が
#Some variables
myInt = 2
myFloat = 2.5
myString = “Hello”
#Lists
myList = (myInt, myFloat, myInt + myFloat)
myOtherList = (myFloat + myFloat, myInt+ myInt)
subList = myList[:1]
completeList = myList + myOtherList + subList
#This should have no effect (it is ok if it is being calculated)
2+4
#Now some printing
print(myString)
print(“World”)
print(completeList)
print(completeList[3])
#Some syntax errors
b = “hello, this string is not enclosed right
c = myString + completeList
d = myInt + SOME_VARIABLE_I_HAVENT_DEFINED_YET
#First string to appear makes everything a string
print(1 + 2 + 15.5 + 2.2 + “Hi” + 3 + 4 + 6)
print(1 + 2 + 15.5 + 2.2 + 3 + 4 + 6 + “hi”)
print((1,2))
すでに最初のチェック機能を持っていますが、今は印刷/割り当て/コメント/不正な構文コマンドなどのときに分かります。私は今、print関数とassignコマンドの中で何を解析すべきか、空白を無視すべきであるとか、それは数え切れない区切り文字ではないかもしれない。
私はちょっとガイドしてください。どのような文字列関数を使用しなければならないのですか?それを動作させるにはどうすればトークンに切り捨てることができますか?私はそれがリストの型と引用符のかっこに従うために、いくつかのスタックを使用する必要がありますね?このコードの出力です
PS
:任意の一般的な、より詳細な情報は、おかげで(理解されるであろう、私はすでに私は必要なもののために、すべてのオーバーロード演算子を持っている
Hello
World
(2, 2.5, 4.5, 5.0, 4, 2, 2.5)
5.0
InvalidSyntax : b = “hello, this string is not enclosed right
InvalidSyntax : c = myString + completeList
UndefinedVariableName : SOME_VARIABLE_I_HAVENT_DEFINED_YET
20.7Hi346
33.7hi
(1,2)
を、私だけ右のそれを解析し、私すでに組み込まれている関数にそれを送信する必要が
あなたの文章を大文字にするのはあまりにも大変でしたか? –
はい、文法を発明している人は、適切な大文字を使用する必要があります。また、例に中括弧 '' 'と' ''を貼り付けたことに注意してください。これはおそらくプログラミング言語の意図ではありません。また、この例では、キッチンの機能を備えた汎用言語のように見えます。単純に始めましょう。たとえば算術式を最初に実行してから、単純な割り当てで名前付き変数を追加します。言語が解決しなければならない問題をスコープしないで、これは本当の質問ではありません。 – Potatoswatter
私は文章を大文字にしました。引用符のことについては、それは私が文字列型に期待するべきものです。 –