示例#1
0
        /// <summary>
        /// コンフィグファイルの読み込み
        /// </summary>
        /// <param name="fileName">ファイル名</param>
        /// <returns>コンフィグファイル</returns>
        private RTCOPConfigFile LoadConfigFile(string fileName)
        {
            // ファイルチェック
            string fileName2 = fileName;

            if (!File.Exists(fileName2))
            {
                fileName2 = SourceRootPath + fileName;
                if (!File.Exists(fileName2))
                {
                    throw new FileNotFoundException(fileName + " が見つかりません", fileName);
                }
            }
            // ファイルオープン
            return(RTCOPConfigFile.LoadFile(fileName));
        }
示例#2
0
        /// <summary>
        /// コンパイルマネージャ。
        /// </summary>
        /// <param name="args">コマンドライン引数。</param>
        public CompileManager(string[] args)
        {
            Namespace = Properties.Settings.Default.NameSpace;
            string newLine = Properties.Settings.Default.LineTerminator.ToLower();

            if ((newLine == "\\r") || (newLine == "cr"))
            {
                LineTerminator = "\r";
            }
            else if ((newLine == "\\n") || (newLine == "lf"))
            {
                LineTerminator = "\n";
            }
            else
            {
                LineTerminator = "\r\n";
            }
            string encoding = Properties.Settings.Default.Encoding;

            if (encoding.ToLower() == "utf-8n")
            {
                Encoding = new UTF8Encoding(false);
            }
            else
            {
                Encoding enc = Encoding;
                try { enc = Encoding.GetEncoding(encoding); } catch (Exception) { }
                Encoding = enc;
            }
            // コンパイルオプションのチェック
            CheckCompileOptions(args);

            // コンフィグファイルの読み込み
            if (ConfigFilePath != "")
            {
                _RTCOPConfigFile = LoadConfigFile(ConfigFilePath);
            }
            // プリプロセッサ・コンパイラの生成
            _RTCOPPreprocessor  = new RTCOPPreprocessor(Macros, IncludePaths, Encoding);
            _RTCOPCompiler      = new RTCOPCompiler(_RTCOPConfigFile);
            _RTCOPCodeGenerator = new RTCOPCodeGenerator(Namespace, LineTerminator, Target, Environment, IncludePaths);
        }
示例#3
0
 /// <summary>
 /// RTCOPファイルのコンパイラ
 /// </summary>
 /// <param name="configFile">コンフィグファイル</param>
 public RTCOPCompiler(RTCOPConfigFile configFile)
 {
     _RTCOPConfigFile = configFile;
 }