📄 code.h
字号:
/* * ============================================================================= * ALADDIN Version 1.0 : * code.h : Declarations for Stack Machine * * Copyright (C) 1995 by Mark Austin, Xiaoguang Chen, and Wane-Jang Lin * Institute for Systems Research, * University of Maryland, College Park, MD 20742 * * This software is provided "as is" without express or implied warranty. * Permission is granted to use this software for any on any computer system * and to redistribute it freely, subject to the following restrictions: * * 1. The authors are not responsible for the consequences of use of * this software, even if they arise from defects in the software. * 2. The origin of this software must not be misrepresented, either * by explicit claim or by omission. * 3. Altered versions must be plainly marked as such, and must not * be misrepresented as being the original software. * 4. This notice is to remain intact. * * Written by: Mark Austin, Xiaoguang Chen, and Wane-Jang Lin December 1995 * ============================================================================= */#ifndef CODE_H#define CODE_H typedef union Datum { QUANTITY *q; MATRIX *m; SYMBOL *sym;} DATUM;typedef int (*Inst)();#define STOP (Inst) 0extern Inst *progp, *progbase;extern Inst prog[];#ifdef __STDC__Inst *Code( Inst );int Execute( Inst * );int Push( DATUM );#elseInst *Code();int Execute();int Push();#endifDATUM Pop();int Pop_Eval();int Init_Code();/* Finite State Machine Routines */int If_Code();int For_Code();int While_Code();int Call();int Arg();int Arg_Assign();int Proc_Ret();int Func_Ret();/* External Function Declarations */int Bltin_Break();int Check_Break();int After_Break();int Variable_Eval();int String_Eval();int Matrix_Eval();int Dimension_Eval();int Matrix_Build();int Bltin_Matrix();int Bltin1_Matrix();int Bltin2_Matrix();int Bltin3_Matrix();int BltinVar_Matrix();int Bltin_Quantity();int Bltin1_Quantity();int Bltin2_Quantity();int Bltin3_Quantity();int BltinVar_Quantity();int BltinVar_String();int BltinVar_Void();int Assign_Quantity();int Assign_Matrix();int Assign_Matrix_Item();int Push_Variable();int Push_Constant();int Push_String();int Push_Matrix();int Push_Argument();int Print_Expr();int Print_Dimen_Expr();int Print_String();/* Engineering Dimensions/Units */int Push_Dimension();int Push_Dimensionless();int Dimension_Mult();int Dimension_Div();int Dimension_Div2();int Dimension_Power();/* Engineering Quantities */int Quantity_Add();int Quantity_Sub();int Quantity_Mul();int Quantity_Div();int Quantity_Affirm();int Quantity_Negate();int Quantity_Power();int Quantity_Gt();int Quantity_Lt();int Quantity_Eq();int Quantity_Ge();int Quantity_Le();int Quantity_Ne();int Quantity_And();int Quantity_Or();int Quantity_Not();int Quantity_Yes();int Quantity_Extract();/* Matrix Functions */int Bltin_Matrix_Add();int Bltin_Matrix_Sub();int Bltin_Matrix_Mult();int Bltin_Matrix_Power();int Bltin_Matrix_Trans();int Bltin_Quan_Matrix_Mult();int Bltin_Matrix_Quan_Mult();int Bltin_Matrix_Quan_Div();int Bltin_Matrix_Negate();int Bltin_Matrix_Affirm();/* Finite Element Functions */int Bltin_Node_Quant();int Bltin_Mesh();int Bltin_Link_Node();int Bltin_Add_Elmt();int Bltin_Element_Attr();int Bltin_Section_Attr();int Bltin_Material_Attr();int Bltin_Fiber_Attr();int Bltin_Print_Displ();int Bltin_Update_Resp();int Bltin_Units_Type();#endif /* end case CODE_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -