mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Allow positional arguments for yulrun.
This commit is contained in:
parent
5345afaa34
commit
5123a2afa7
@ -76,12 +76,11 @@ pair<shared_ptr<Block>, shared_ptr<AsmAnalysisInfo>> parse(string const& _source
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void interpret()
|
void interpret(string const& _source)
|
||||||
{
|
{
|
||||||
string source = readStandardInput();
|
|
||||||
shared_ptr<Block> ast;
|
shared_ptr<Block> ast;
|
||||||
shared_ptr<AsmAnalysisInfo> analysisInfo;
|
shared_ptr<AsmAnalysisInfo> analysisInfo;
|
||||||
tie(ast, analysisInfo) = parse(source);
|
tie(ast, analysisInfo) = parse(_source);
|
||||||
if (!ast || !analysisInfo)
|
if (!ast || !analysisInfo)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -120,13 +119,16 @@ Allowed options)",
|
|||||||
po::options_description::m_default_line_length,
|
po::options_description::m_default_line_length,
|
||||||
po::options_description::m_default_line_length - 23);
|
po::options_description::m_default_line_length - 23);
|
||||||
options.add_options()
|
options.add_options()
|
||||||
("help", "Show this help screen.");
|
("help", "Show this help screen.")
|
||||||
|
("input-file", po::value<vector<string>>(), "input file");
|
||||||
|
po::positional_options_description filesPositions;
|
||||||
|
filesPositions.add("input-file", -1);
|
||||||
|
|
||||||
po::variables_map arguments;
|
po::variables_map arguments;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
po::command_line_parser cmdLineParser(argc, argv);
|
po::command_line_parser cmdLineParser(argc, argv);
|
||||||
cmdLineParser.options(options);
|
cmdLineParser.options(options).positional(filesPositions);
|
||||||
po::store(cmdLineParser.run(), arguments);
|
po::store(cmdLineParser.run(), arguments);
|
||||||
}
|
}
|
||||||
catch (po::error const& _exception)
|
catch (po::error const& _exception)
|
||||||
@ -138,7 +140,17 @@ Allowed options)",
|
|||||||
if (arguments.count("help"))
|
if (arguments.count("help"))
|
||||||
cout << options;
|
cout << options;
|
||||||
else
|
else
|
||||||
interpret();
|
{
|
||||||
|
string input;
|
||||||
|
|
||||||
|
if (arguments.count("input-file"))
|
||||||
|
for (string path: arguments["input-file"].as<vector<string>>())
|
||||||
|
input += readFileAsString(path);
|
||||||
|
else
|
||||||
|
input = readStandardInput();
|
||||||
|
|
||||||
|
interpret(input);
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user