Can I / Should I use Lua for this?

Here’s what I want to do:

I have a game written in C++
Using Xcode to develop it.
It’s kind of a side-scrolling game.

Each level’s terrain is described in a plist and generated in code.
Essentially the pList is just a sequence of points between which the terrain is drawn.

Now I would like to add some more complexity to this - for example I could introduce in my pList the concept of:

Start at this point, generate 5 new points, changing X by 100 and y by 10

Which would give me a gentle slope over 500 units.

But then I may want to have the concept of

Start at this point, generate 5 hills, with a height between 400 and 600 and a width between 500 and 900

In order to do this I will need to have written the c++ code to ‘decode’ the info in the pList - which means if I want to do something different for a new level I will need to update the App

So - could I instead write a simple LUA script that would generate appropriate points - so the Lua would have a ‘GenerateHill’ method and my plist would just have the name of the method and values for appropriate parameters. the script would run and return (or provide my main c++ code with) the appropriate points to be drawn for my terrain.

this way, if I decide I want to implement

From this point, draw 5 pointy mountains 100 wide and 500 high

I can write a Lua method “DrawMountains(position, number,width, height)” and in my pList I can have an entry “DrawMountains((100,40), 5, 100,500)” which would be read by my c++ code which would then call the method and lo! my terrain would be generated.

As you may guess, I have literally no idea what Lua does or how it integrates into C++ etc.

Any suggestions on
a) is Lua the way to go (and can it do this)
b) is there an alternative way you know of?
c) any links to good simple tutorials that might do something similar would be fantastic!

I’ve added a new, more generic post about scripting - but leaving this here in case someone replies?!