svnno****@sourc*****
svnno****@sourc*****
2010年 3月 18日 (木) 15:26:36 JST
Revision: 299 http://sourceforge.jp/projects/protra/svn/view?view=rev&revision=299 Author: panacoran Date: 2010-03-18 15:26:35 +0900 (Thu, 18 Mar 2010) Log Message: ----------- [FRE #12211] * Protra.Lib/Controls/SimulateTextBox.cs (SimulateTextBox.Simulate): 組み込み関数の実行環境にRightIndexの値を設定する。 * Protra.Lib/Lang/Builtins/BasicBuiltins.cs (BasicBuiltins.RightIndex): 新規。右端のインデックスを設定する。 (BasicBuiltins.Invoke): 組み込み関数RightIndexを実装する。 * Protra.Lib/Lang/Builtins/DrawBuiltins.cs (DrawBuiltins.RightIndex): 削除。 (DrawBuiltins.Invoke): 組み込み関数RightIndexを削除。 2008-03-27 panacoran <panac****@users*****> * bin/Release/NEWS.txt: 処理系の高速化に言及。 * Protra.Lib/Protra.Lib.csproj: 後述するファイルの追加と削除。 * Protra.Lib/Controls/ChartBox.cs (ChartBox): 組み込み関数の実装をChartBuiltinsクラスに移動。 * Protra.Lib/Controls/SimulateTextBox.cs (SimulateTextBox): UseLogを削除して必ずログを使用する。組み込み関数の実装をSimulateBuiltinsクラスに移動。 (SimulateTextBox.LoadGlobalCache): ログに互換性がなくなるのですべて削除する。 * Protra.Lib/Lang/Node.cs (Node): 字句解析器をクラスで共有。字句をContextTokenからTokenに。 (Node.Parse): 返値を単純化した構文木に。 (Node.Simplify): 削除。 * Protra.Lib/Lang/ArithmeticExpressionNode.cs: Nodeクラスの変更を反映。ArrayListをListに変更。以下同様の変更。 * Protra.Lib/Lang/ArithmeticTermNode.cs: 同上。 * Protra.Lib/Lang/ArrayNode.cs: 同上。 * Protra.Lib/Lang/BreakStatementNode.cs: 同上。 * Protra.Lib/Lang/ComparisonNode.cs: 同上。 * Protra.Lib/Lang/ContinueStatementNode.cs: 同上。 * Protra.Lib/Lang/EmptyStatementNode.cs: 同上。 * Protra.Lib/Lang/EquivalenceComparisonNode.cs: 同上。 * Protra.Lib/Lang/ExpressionNode.cs: 同上。 (ExpressionNode.Parse): 左辺値の処理をExecuteに移す。 (ExpressionNode.Execute): 代入の処理をVariableクラスとSuffixedExpressionNodeクラスに移動。 * Protra.Lib/Lang/ExpressionStatementNode.cs: 同上。 * Protra.Lib/Lang/FunctionDefinitionNode.cs: 同上。 * Protra.Lib/Lang/FunctionNode.cs: 同上。 (FunctionNode.Execute): 組み込み関数の実行をBuiltinクラスのサブクラスに。 * Protra.Lib/Lang/IfStatementNode.cs: 同上。 * Protra.Lib/Lang/LiteralNode.cs: 同上。 (LiteralNode.Parse): 数値への変換は字句解析器で行う。 * Protra.Lib/Lang/LogicalExpressionNode.cs: 同上。 (LogicalExpressionNode.Execute): Value.operator|を使わずに評価する。 * Protra.Lib/Lang/LogicalTermNode.cs: 同上。 (LogicalTermNode.Execute): Value.operator&を使わずに評価する。 * Protra.Lib/Lang/PrefixedExpressionNode.cs: 同上。 (PrefixedExpressionNode.Parse): 型キャストの判別にScan.Peekによる先読みを使う。 * Protra.Lib/Lang/PrimaryNode.cs: 同上。 (PrimaryNode.Parse): 字句の判別は字句解析器で行う。 * Protra.Lib/Lang/ProgramNode.cs: 同上。 * Protra.Lib/Lang/ReturnStatementNode.cs: 同上。 * Protra.Lib/Lang/StatementNode.cs: 同上。 * Protra.Lib/Lang/SuffixedExpressionNode.cs: 同上。 (SuffixedExpressionNode.Assign): 新規。代入を処理する。 * Protra.Lib/Lang/VariableNode.cs: 同上。 (VariableNode.Assign): 新規。代入を処理する。 * Protra.Lib/Lang/WhileStatementNode.cs: 同上。 * Protra.Lib/Lang/Buffer.cs: 新規。 (Position): ファイルの読み込み位置を記録する構造体。 (Buffer): 空白のスキップと#include/require文の処理を行う行バッファ * Protra.Lib/Lang/Scanner.cs: 新規。 (Scanner): 字句解析を行うクラス。 * Protra.Lib/Lang/Token.cs: 新規。 (TokenType): 字句の種類を表す列挙型。 (Token): 字句を表すクラス。 * Protra.Lib/Lang/Builtins/Builtins.cs: 新規。 (Builtins): 組み込み関数を処理するクラスの親クラス。 * Protra.Lib/Lang/Builtins/BasicBuiltins.cs: 新規。 (BasicBuiltins): 基本的な組み込み関数を実行するクラス。 * Protra.Lib/Lang/Builtins/DrawBuiltins.cs: 新規。 (DrawFunctionRecord): 描画系の組み込み関数の実行を記録する構造体。 (DrawBuiltins): 描画を行う組み込み関数を実行するクラス。 * Protra.Lib/Lang/Builtins/MathBuiltins.cs: 新規。 (MathBuiltins): 数学関係の組み込み関数を実行するクラス。 * Protra.Lib/Lang/Builtins/SimulateBuiltins.cs: 新規。 (SimulateBuiltins): シミュレーション関連の組み込み関数を処理するクラス。 * Protra.Lib/Lang/Interpreter.cs: InterpreterFacadeから改名。 (Interpreter): Stack, FunctionTable, GlobalVariableTableのクラスをGenericsに。 * Protra.Lib/Lang/ParseException.cs (ParseException): 字句をContextTokenからTokenに。 * Protra.Lib/Lang/RuntimeException.cs (RuntimeException): 同上。 * Protra.Lib/Lang/Resource.cs (Resource): StackArea, VariableTable, FunctionTableをGenericsに。ExecuterFactoryを削除。コンストラクタを削除。BasicBuiltinsのインスタンスを保持するフィールドBuiltinsを追加。 * Protra.Lib/Lang/Value.cs (Value.Equals): 文字列の比較を正しく行う。数値の比較を直接行う。 (Value.operator|): 削除。 (Value.operator&): 削除。 * PtSim/MainForm.cs (MainForm.InitializeComponent): SimulateTextBoxへのUseLogの設定を削除。 * Protra.Lib/Lang/Context.cs: 削除。 * Protra.Lib/Lang/ContextToken.cs: 削除。 * Protra.Lib/Lang/FunctionTable.cs: 削除。 * Protra.Lib/Lang/IExecuter.cs: 削除。 * Protra.Lib/Lang/IExecuterFactory.cs: 削除。 * Protra.Lib/Lang/InterpreterFacade.cs: 削除。 * Protra.Lib/Lang/StackArea.cs: 削除。 * Protra.Lib/Lang/VariableTable.cs: 削除。 * Protra.Lib/Lang/Executer/DelegateExecuter.cs: 削除。 * Protra.Lib/Lang/Executer/ExecuterFactoryUnion.cs: 削除。 * Protra.Lib/Lang/Executer/MathExecuterFactory.cs: 削除。 Ticket Links: :----------- http://sourceforge.jp/projects/protra/tracker/detail/12211 Modified Paths: -------------- protra/trunk/ChangeLog.txt protra/trunk/Protra/Controls/ChartPanel.cs protra/trunk/Protra/Dialogs/OptionDialog.cs protra/trunk/Protra/Dialogs/PriceUpdateDialog.cs protra/trunk/Protra/MainForm.cs protra/trunk/Protra/Protra.csproj protra/trunk/Protra.Lib/Db/Brand.cs protra/trunk/Protra.Lib/Protra.Lib.csproj protra/trunk/Protra.Lib/Update/PriceDataUpdator.cs protra/trunk/PtSim/Dialogs/EditBrandListContentDialog.cs protra/trunk/PtSim/Dialogs/EditBrandListDialog.cs protra/trunk/PtSim/MainForm.cs Added Paths: ----------- protra/trunk/Protra.Lib/Config/ protra/trunk/Protra.Lib/Config/BrandListConfig.cs protra/trunk/Protra.Lib/Config/ConfigBase.cs protra/trunk/Protra.Lib/Config/ProtraConfig.cs protra/trunk/Protra.Lib/Config/PtSimConfig.cs protra/trunk/Protra.Lib/Config/UpdateConfig.cs Removed Paths: ------------- protra/trunk/Protra/FavoriteBrandItem.cs