Content deleted Content added
→Wrong Wrong Wrong: Correct minor spelling error |
m Maintain {{WPBS}} and vital articles: 1 WikiProject template. Create {{WPBS}}. Tag: |
||
(One intermediate revision by one other user not shown) | |||
Line 1:
{{Talk header}}
{{WikiProject banner shell|
{{WikiProject Computing}}
}}
==Confusion in "Operations of the stack" section==
* I've added a ''disputed-section'' tag to the ''Operations of the stack'' section. I think it confuses the input and the stack. The input is a stream which can only be popped from. If you pop an operand from the input, you push it on to the stack. If you pop an operator from the input, you pop operands from the stack (however many the operator takes), perform the operation, then push the result on to the stack. I'll take a crack at rewriting the section. [[User:Klparrot|Klparrot]] 16:43, 3 May 2007 (UTC)
Line 15 ⟶ 16:
That implies all nested block structure languages are stack oriented languages and doesn't distinguish the ones that actually have stack operators in the language. Stack orianted languages are analogous to stack based languaged. Passing parameters on the call stack is not required.
It also excludes
[[TREE-META]] is one example. CWIC another. They are metacompilers. The syntax language is syntax equations, boolean functions. Each euation expresses a goal, recognizing some language structure. They are boolean equations that analyze an input character stream and return success(true) or failure(false). Using operates like ''''':'''<node>'' that creates a node and pushes it onto the node stack and '''''!'''<number>'' that creates a tree, taking the top node stack entry and the top ''<number>'' of parse stack entries putting them to gather to form a tree that is pushed on that parse stack. The +[ ... ]+ make a list of parse stack entries pushed between them.
|